/*! LAVA · main stylesheet. Tokens and components are taken from the approved mockup. */
/* Source Sans 3 (SIL OFL), served from the theme. Latin and latin-ext subsets. */
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/source-sans-3-latin-ext-300-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/source-sans-3-latin-300-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 300; font-display: swap; src: url('../fonts/source-sans-3-latin-ext-300-italic.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 300; font-display: swap; src: url('../fonts/source-sans-3-latin-300-italic.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/source-sans-3-latin-ext-400-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/source-sans-3-latin-ext-500-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/source-sans-3-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-sans-3-latin-ext-600-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ==========================================================================
   LAVA · Portal
   Grid: 4 columns on 1440 (content edges 104 / 424 / 744 / 1064, right edge 1336).
   One family: Source Sans 3. Accent: Peach light italic.
   ========================================================================== */

:root {
	color-scheme: dark;
	--base: #110C0B;
	--foot: #0B0807;
	--peach: #FFBE90;
	--orange: #FE9F5D;
	--red: #D50E0B;
	--deep: #BA0C0A;
	--maroon: #6F0706;
	--ink: #100F0F;
	--white: #FFFFFF;
	--muted: rgba(255, 255, 255, 0.72);
	--soft: rgba(255, 255, 255, 0.82);
	/* LINES – three kinds only:
	   --line     structure: header / hero / footer edges, rows inside panels and lists
	   --outline  the edge of every neutral surface (cards, panels, tabs)
	   --gold     accent only: the connectors in How the Fund is organised and the accent box ring */
	--line: rgba(255, 190, 144, 0.14);
	--outline: rgba(255, 190, 144, 0.2);
	--outline-hover: rgba(255, 190, 144, 0.6);
	--gold: rgba(255, 190, 144, 0.45);
	--rule: var(--line);
	--rule-2: var(--outline);
	/* LIVING OUTLINE – the edge lights up at the two rounded corners of the leaf and almost disappears
	   along the straight sides, as if lit from inside. Only for single, standalone panels. */
	--live: linear-gradient(135deg, rgba(255, 190, 144, 0.62) 0%, rgba(255, 190, 144, 0.16) 30%, rgba(255, 190, 144, 0.05) 55%, rgba(255, 190, 144, 0.12) 78%, rgba(255, 190, 144, 0.42) 100%);
	--live-gold: linear-gradient(135deg, rgba(255, 190, 144, 0.9) 0%, rgba(255, 190, 144, 0.35) 35%, rgba(255, 190, 144, 0.18) 60%, rgba(255, 190, 144, 0.65) 100%);
	--base-fill: linear-gradient(#110C0B, #110C0B);
	/* SURFACE – one neutral card surface for the whole site */
	--surface: linear-gradient(180deg, #221512, #170F0D);
	--tile: rgba(40, 24, 21, 0.7);
	/* gold hairline: Peach fading out at both ends. Section dividers and connectors. */
	/* accent box: a Peach-tinted leaf with a Peach hairline. Used sparingly for key facts (status, registry proof). */
	--accent-bg: linear-gradient(135deg, rgba(255, 190, 144, 0.15), rgba(255, 190, 144, 0.04));
	--accent-ring: inset 0 0 0 1px var(--gold);

	/* layout */
	--m: 80px;            /* page margin */
	--pad: 24px;          /* column inner padding */
	--gap: calc(var(--pad) * 2);
	--max: 1440px;
	--sec: 140px;         /* section rhythm */

	/* type */
	--d1: clamp(40px, 4.57vw + 22px, 88px);
	--d2: clamp(34px, 2.1vw + 26px, 56px);
	--stmt: clamp(22px, 0.76vw + 19px, 30px);
	--h3: clamp(28px, 1.6vw + 17px, 40px);   /* card and entity titles */
	--t: clamp(21px, 0.3vw + 19.8px, 24px);
	--lead: clamp(17px, 0.19vw + 16.3px, 19px);

	--ease: cubic-bezier(.2, .7, .2, 1);
}

@media (max-width: 1279px) { :root { --m: 40px; --pad: 20px; --sec: 120px; } }
@media (max-width: 1023px) { :root { --m: 32px; --pad: 16px; --sec: 96px; } }
@media (max-width: 599px)  { :root { --m: 20px; --pad: 10px; --sec: 72px; } }

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--base);
	color: var(--white);
	font-family: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
h1, h2, h3, p, dl, dd, ul { margin: 0; }
ul { padding: 0; list-style: none; }
h1, h2, h3, p, li, dt, dd, a, span { text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--red); color: var(--white); }
:focus-visible { outline: 2px solid var(--peach); outline-offset: 4px; }

.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--peach); color: var(--ink); font-weight: 600; transition: top .2s; }
.skip-link:focus { top: 16px; }

.wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 calc(var(--m) + var(--pad)); }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--gap); }

/* --------------------------------------------------------------- type */
.d1 { font-size: var(--d1); font-weight: 300; line-height: 1.04; letter-spacing: -0.02em; margin-left: -0.02em; }
.d2 { font-size: var(--d2); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; margin-left: -0.04em; text-wrap: balance; }
.stmt { font-size: var(--stmt); font-weight: 300; line-height: 1.4; letter-spacing: -0.01em; }
.t { font-size: var(--t); font-weight: 300; line-height: 1.25; }
.lead { font-size: var(--lead); line-height: 1.55; color: var(--muted); }
.body { font-size: 16px; line-height: 1.6; color: var(--soft); }
/* data label: the left column of every label/value list (Key facts, registry data, status) */
.label, .facts dt, .proof__ids dt, .ent__figures dt, .ent__facts dt, .status__label { font-size: 14px; font-weight: 500; line-height: 1.45; letter-spacing: 0; text-transform: none; color: rgba(255, 255, 255, 0.6); }
/* kicker: the small Peach caps above a name (THE FUND, GENERAL PARTNER) – same as .caps */
.proof__kind, .tab__kind, .org__p b { font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0.18em; text-transform: uppercase; color: var(--peach); }
.caps { font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0.18em; text-transform: uppercase; color: var(--peach); }
.muted { color: rgba(255, 255, 255, 0.62); }
.acc { font-style: italic; font-weight: 300; color: var(--peach); }

/* ------------------------------------------------------------ controls
   One idea for every control in the Portal concept: the leaf lights up from inside.
   No underlines and no outer glow lines. Each control is a leaf (radius R 0 R 0), or reveals one
   on hover, and the light is Peach: a fill that brightens or a tint that appears.

   Primary     Peach leaf, dark text, arrow. The conversion action: first hero button, the closing CTA. At most two per page.
               hover: the fill gets lighter, a soft warm shadow, the arrow moves.
   Secondary   Hairline leaf, white text. Second action next to a primary, a "go to section" action inside a panel (Compliance), Contact us in the header.
               hover: Peach tint inside, the hairline turns solid.
   Arrow link  Peach label + arrow. "More details" inside a section.
               hover: a tinted leaf appears behind it (as on the menu items), the arrow moves 4 px.
   Nav item    Plain text. Header menu and Investor login.
               hover: a tinted leaf appears behind the word. Current page: Peach text.
   List link   Footer menu, legal links, contacts: text brightens to white (contacts to Peach).

   Sizes       L 56 px (content) · M 44 px (header) · arrow link leaf 44 px · nav leaf 38 px.
   Shared      press: 1 px down · focus: 2 px Peach ring · touch screens: no hover states.
   ------------------------------------------------------------------------- */
/* rhythm: one gap between a section heading and its content, everywhere */
:root { --head-gap: 64px; --kicker-gap: 28px; --title-gap: 40px; }
@media (max-width: 1023px) { :root { --head-gap: 48px; --title-gap: 32px; } }
@media (max-width: 599px)  { :root { --head-gap: 40px; --kicker-gap: 20px; --title-gap: 24px; } }
:root { --tint: rgba(255, 190, 144, 0.10); --tint-2: rgba(255, 190, 144, 0.16); --peach-hi: #FFCFAA; --peach-lo: #F4AD7B; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }
.btn {
	--h: 56px; --r: 20px;
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 28px;
	height: var(--h); padding: 0 26px; border-radius: var(--r) 0 var(--r) 0; border: 1px solid transparent;
	font-size: 16px; font-weight: 600; line-height: 1; letter-spacing: 0.01em; white-space: nowrap;
	transition: box-shadow .35s ease, background-color .25s ease, border-color .25s ease, transform .15s ease;
}
.btn--m { --h: 44px; --r: 16px; padding: 0 20px; font-size: 14px; }
.btn:active, .link:active, .nav__list a:active, .login:active { transform: translateY(1px); }
.btn:focus-visible, .link:focus-visible, .nav__list a:focus-visible, .login:focus-visible { outline: 2px solid var(--peach); outline-offset: 3px; }
.ic-arrow { flex: none; transition: transform .25s var(--ease), background-color .25s ease, color .25s ease, border-color .25s ease; }
.btn:hover .ic-arrow { transform: translateX(4px); }
.btn--primary:has(.ic-arrow) { justify-content: space-between; padding-right: 22px; }
.btn span, .nav__list a, .login span, .link span { white-space: nowrap; }

.btn--primary { background: var(--peach); color: var(--ink); }
.btn--primary:hover { background: var(--peach-hi); box-shadow: 0 14px 36px -14px rgba(254, 159, 93, 0.75); }
.btn--primary:active { background: var(--peach-lo); box-shadow: none; }
.btn--secondary { background: rgba(17, 12, 11, 0.35); color: var(--white); border-color: rgba(255, 190, 144, 0.55); }
.btn--secondary:hover { background: var(--tint); border-color: var(--peach); }
.btn--secondary:active { background: var(--tint-2); }

.link {
	position: relative; display: inline-flex; align-items: center; gap: 12px;
	height: 44px; padding: 0 16px; margin-left: -16px; border-radius: 14px 0 14px 0;
	color: var(--peach); font-size: 16px; font-weight: 600; line-height: 1;
	transition: background-color .3s ease, transform .15s ease;
}
.link:hover { background: var(--tint); }
.link:hover .ic-arrow { transform: translateX(4px); }

.nav__list a, .login {
	position: relative; display: inline-flex; align-items: center; gap: 8px;
	height: 38px; padding: 0 14px; border-radius: 12px 0 12px 0;
	font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap;
	transition: background-color .25s ease, color .25s ease, transform .15s ease;
}
.nav__list a:hover, .login:hover { background: var(--tint); color: var(--white); }
.nav__list .current-menu-item > a, .nav__list a[aria-current="page"] { color: var(--peach); }

/* Investor login: a utility entry, kept apart from the menus. Same nav item, plus a lock. */
.login { color: rgba(255, 255, 255, 0.78); }
.login__ic { flex: none; color: var(--peach); }
@media (max-width: 599px) {
	.btns { flex-direction: column; align-items: stretch; }
	.btn:not(.btn--m) { width: 100%; }
}

/* ------------------------------------------------------------- header */
.site-header {
	position: sticky; top: 0; z-index: 50;
	border-bottom: 1px solid var(--rule);
}
/* Glass lives on a pseudo-element: backdrop-filter on the header itself would become the containing
   block for the fixed mobile menu and squeeze it to the header's height once the page is scrolled. */
.site-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(17, 12, 11, 0); transition: background-color .3s ease;
}
.site-header.is-scrolled::before { background: rgba(17, 12, 11, 0.82); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
.is-menu-open .site-header::before { background: var(--base); -webkit-backdrop-filter: none; backdrop-filter: none; }
.site-header__in { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.logo { width: 90px; height: auto; color: var(--white); }
.nav { display: flex; align-items: center; gap: 20px; }
.nav__list { display: flex; align-items: center; gap: 4px; }
.nav__actions { display: flex; align-items: center; gap: 12px; padding-left: 20px; border-left: 1px solid var(--rule-2); }
.nav__contacts { display: none; }
.burger { display: none; width: 44px; height: 44px; margin-right: -11px; padding: 11px; background: none; border: 0; cursor: pointer; flex-direction: column; justify-content: center; gap: 5px; }
.burger span { display: block; height: 1.5px; background: var(--white); border-radius: 1px; transition: transform .3s var(--ease), opacity .2s; }
.is-menu-open .burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.is-menu-open .burger span:nth-child(2) { opacity: 0; }
.is-menu-open .burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 1199px) {
	.site-header__in { height: 72px; }
	.burger { display: flex; }
	.nav {
		position: fixed; inset: 72px 0 0 0; z-index: 49;
		flex-direction: column; align-items: stretch; justify-content: space-between; gap: 40px;
		padding: 40px calc(var(--m) + var(--pad)) 48px;
		background: radial-gradient(80% 50% at 100% 100%, rgba(213, 14, 11, 0.350) 0%, rgba(213, 14, 11, 0.340) 7%, rgba(213, 14, 11, 0.314) 14%, rgba(213, 14, 11, 0.274) 21%, rgba(213, 14, 11, 0.227) 28%, rgba(213, 14, 11, 0.175) 35%, rgba(213, 14, 11, 0.123) 42%, rgba(213, 14, 11, 0.076) 49%, rgba(213, 14, 11, 0.036) 56%, rgba(213, 14, 11, 0.010) 63%, rgba(213, 14, 11, 0) 70%), var(--base);
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity .3s ease, transform .3s var(--ease), visibility 0s .3s;
		overflow-y: auto;
	}
	.is-menu-open .nav { opacity: 1; visibility: visible; transform: none; transition: opacity .3s ease, transform .3s var(--ease); }
	.nav__list { flex-direction: column; align-items: flex-start; gap: 4px; }
	.nav__list { width: 100%; }
	.nav__list li { width: 100%; }
	.nav__list a { width: calc(100% + 32px); height: auto; margin-left: -16px; padding: 10px 16px; font-size: 32px; font-weight: 300; border-radius: 20px 0 20px 0; }
	.nav__actions { flex-direction: column; align-items: stretch; gap: 0; padding-left: 0; border-left: 0; width: 100%; }
	.nav__actions .btn--m { order: 1; align-self: flex-start; }
	.nav__login { order: 2; height: 56px; margin: 12px 0 0; width: 100%; padding: 0 26px; font-size: 16px; background: var(--tint); border-radius: 20px 0 20px 0; }
	.nav__contacts { order: 3; }
	.nav .btn--m { --h: 56px; --r: 20px; padding: 0 26px; font-size: 16px; }
	.nav__contacts { display: flex; flex-direction: column; gap: 6px; padding-top: 20px; width: 100%; font-size: 16px; }
	.nav__contacts a { padding: 6px 0; color: rgba(255, 255, 255, 0.86); }
	.is-menu-open { overflow: hidden; }
}

/* --------------------------------------------------------------- hero */
/* Every red glow in this file uses eased stops (no straight segments, zero slope at both ends).
   Two or three stops give a visible ring at each stop on bright screens; do not shorten them. */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--rule); margin-top: -1px; }
.hero__glow {
	position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(42% 60% at var(--gx, 70%) var(--gy, 48%), rgba(213, 14, 11, 0.420) 0%, rgba(195, 13, 10, 0.411) 7.2%, rgba(176, 11, 9, 0.387) 14.4%, rgba(158, 10, 8, 0.351) 21.6%, rgba(140, 9, 7, 0.305) 28.8%, rgba(121, 8, 6, 0.252) 36%, rgba(102, 8, 6, 0.194) 43.2%, rgba(80, 9, 8, 0.135) 50.4%, rgba(59, 10, 9, 0.079) 57.6%, rgba(38, 11, 10, 0.030) 64.8%, rgba(17, 12, 11, 0) 72%);
	transition: background-position .6s ease;
}
.hero__grid { position: relative; align-items: center; }
.hero__sign { grid-column: 3 / span 2; grid-row: 1; margin-left: calc(var(--pad) * -1); }
.portal-sign { width: 100%; height: auto; overflow: visible; }
.portal-sign__halo { animation: halo 7s ease-in-out infinite alternate; transform-origin: 50% 60%; }
@keyframes halo { from { opacity: .55; } to { opacity: .8; } }
.hero__text { grid-column: 1 / span 3; grid-row: 1; position: relative; z-index: 1; padding: 64px 0; }
.hero__title { text-shadow: 0 0 6px var(--base), 0 0 6px var(--base), 0 0 3px var(--base); }
.hero__lead { max-width: calc((100% - var(--gap) * 2) / 3 * 2 + var(--gap)); margin: var(--title-gap) 0 36px; }

@media (max-width: 1023px) {
	.hero__grid { display: flex; flex-direction: column; }
	.hero__text { padding: 64px 0 0; }
	.hero__lead { max-width: 640px; }
	.hero__grid { padding-bottom: 56px; }
	.hero__sign { order: 2; align-self: flex-end; width: 46%; max-width: 380px; margin: -56px 0 0; }
	.hero__glow { --gx: 72%; --gy: 82%; background: radial-gradient(70% 45% at var(--gx) var(--gy), rgba(213, 14, 11, 0.420) 0%, rgba(195, 13, 10, 0.411) 7.2%, rgba(176, 11, 9, 0.387) 14.4%, rgba(158, 10, 8, 0.351) 21.6%, rgba(140, 9, 7, 0.305) 28.8%, rgba(121, 8, 6, 0.252) 36%, rgba(102, 8, 6, 0.194) 43.2%, rgba(80, 9, 8, 0.135) 50.4%, rgba(59, 10, 9, 0.079) 57.6%, rgba(38, 11, 10, 0.030) 64.8%, rgba(17, 12, 11, 0) 72%); }
}
@media (max-width: 599px) {
	.hero__text { padding-top: 48px; }
	.hero__grid { padding-bottom: 40px; }
	.hero__sign { width: 64%; margin: 48px 0 0; }
}

/* ----------------------------------------------------------- sections */
.section { position: relative; padding: var(--sec) 0; }
.section + .section { border-top: 0; }
/* Glue: the lava light travels down the page. Each content section carries one soft pool of red light,
   alternating sides and overlapping the section edges, so sections flow into each other instead of
   sitting in separate boxes. No dividing lines between sections: air and light do the separating. */
.section.about::before, .section.who::before, .section.transactions::before,
.section.ip-legal::before, .section.ip-reg::before, .section.ip-org::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: -18%;
	width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; translate: 0 var(--pool, 0px);
	background: radial-gradient(closest-side, rgba(213, 14, 11, 0.100) 0%, rgba(197, 13, 10, 0.099) 7.6%, rgba(182, 12, 9, 0.094) 15.2%, rgba(166, 11, 9, 0.088) 22.8%, rgba(151, 10, 8, 0.079) 30.4%, rgba(135, 9, 7, 0.069) 38%, rgba(120, 8, 6, 0.057) 45.6%, rgba(111, 7, 6, 0.044) 53.2%, rgba(111, 7, 6, 0.030) 60.8%, rgba(111, 7, 6, 0.015) 68.4%, rgba(111, 7, 6, 0) 76%);
}
.section.about::before, .section.transactions::before, .section.ip-reg::before { left: -28%; }
.section.who::before, .section.ip-legal::before, .section.ip-org::before { right: -28%; }
@media (max-width: 1023px) {
	.section.about::before, .section.who::before, .section.transactions::before,
	.section.ip-legal::before, .section.ip-reg::before, .section.ip-org::before { width: 130vw; }
}
.section__title { max-width: 980px; margin-bottom: var(--head-gap); }
.section__more { margin-top: 56px; }
@media (max-width: 599px) { .section__more { margin-top: 40px; } }

/* about */
.about .grid { align-items: start; }
.about__media { grid-column: 1 / span 2; position: sticky; top: 120px; }
.about__photo { position: relative; width: 82%; }
.about__photo::before { content: ""; position: absolute; inset: -12% -25%; background: radial-gradient(50% 50% at 60% 55%, rgba(213, 14, 11, 0.280) 0%, rgba(196, 13, 10, 0.274) 7.5%, rgba(179, 12, 9, 0.256) 15%, rgba(162, 10, 8, 0.230) 22.5%, rgba(145, 9, 8, 0.197) 30%, rgba(128, 8, 7, 0.160) 37.5%, rgba(111, 7, 6, 0.120) 45%, rgba(111, 7, 6, 0.081) 52.5%, rgba(111, 7, 6, 0.045) 60%, rgba(111, 7, 6, 0.015) 67.5%, rgba(111, 7, 6, 0) 75%); pointer-events: none; }
.photo-sign { position: relative; width: 100%; height: auto; overflow: visible; }
.photo-sign__img { transition: transform 1.2s var(--ease); transform-origin: 50% 50%; transform-box: fill-box; translate: 0 var(--img, 0px); }
/* parallax: separate `translate` property, so it never fights the reveal/hover transforms */
[data-parallax] { translate: 0 var(--par, 0px); will-change: translate; }
.about__media:hover .photo-sign__img { transform: scale(1.04); }
.about__body { grid-column: 3 / span 2; display: flex; flex-direction: column; gap: 32px; }
.about__body > .caps { margin-bottom: calc(var(--kicker-gap) - 32px); }
.lead-block { display: flex; flex-direction: column; gap: 16px; }
.facts { border-radius: 40px 0 40px 0; background: var(--surface); border: 1px solid var(--outline); padding: 28px 28px 12px; }
.facts__title { margin-bottom: 8px; }
.facts__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; padding: 16px 0; border-top: 1px solid var(--rule); }
.facts__row:first-child { border-top: 0; }
.facts dd { font-size: 16px; line-height: 1.5; color: var(--white); }
.about .link { align-self: flex-start; }

@media (max-width: 1023px) {
	.about .grid { display: flex; flex-direction: column; gap: 56px; }
	.about__media { position: relative; top: 0; width: 100%; }
	.about__photo { width: 56%; max-width: 380px; }
}
@media (max-width: 599px) {
	.about__photo { width: 66%; }
	.facts { padding: 24px 20px 4px; border-radius: 28px 0 28px 0; }
	.facts__row { grid-template-columns: 1fr; gap: 4px; }
}

/* who we work with: three audiences as rows (Portal "For investors" pattern) */
.rows { border-bottom: 1px solid var(--rule-2); }
.row { position: relative; padding: 40px 0; border-top: 1px solid var(--rule-2); align-items: start; transition: background-color .3s ease; }
.row::before { content: ""; position: absolute; inset: 0 calc(var(--pad) * -1); z-index: -1; opacity: 0; transition: opacity .35s ease;
	background: radial-gradient(45% 160% at 0% 50%, rgba(213, 14, 11, 0.240) 0%, rgba(213, 14, 11, 0.233) 7.5%, rgba(213, 14, 11, 0.215) 15%, rgba(213, 14, 11, 0.188) 22.5%, rgba(213, 14, 11, 0.156) 30%, rgba(213, 14, 11, 0.120) 37.5%, rgba(213, 14, 11, 0.084) 45%, rgba(213, 14, 11, 0.052) 52.5%, rgba(213, 14, 11, 0.025) 60%, rgba(213, 14, 11, 0.007) 67.5%, rgba(213, 14, 11, 0) 75%); }
.row:hover::before { opacity: 1; }
.row { isolation: isolate; }
.row__title { grid-column: 1 / span 2; color: var(--white); max-width: 460px; }
.row__text { grid-column: 3 / span 2; max-width: 560px; padding-top: 2px; }
@media (max-width: 1023px) {
	.row { display: flex; flex-direction: column; gap: 12px; padding: 32px 0; }
}

/* who we work with: tabs + portal panel (the approved Investment scope pattern) */
.tabs { align-items: stretch; }
.tabs__list { display: flex; flex-direction: column; gap: 8px; }
.tab {
	display: flex; align-items: center; width: 100%; min-height: 96px; padding: 22px var(--pad);
	text-align: left; font: inherit; color: var(--white); cursor: pointer;
	background: transparent; border: 1px solid var(--rule-2); border-radius: 32px 0 32px 0;
	transition: background-color .25s ease, border-color .25s ease, box-shadow .3s ease;
}
.tab .t { text-wrap: balance; }
.tab:hover { border-color: var(--outline-hover); }
.tab.is-active { background: rgba(213, 14, 11, 0.14); border-color: var(--peach); box-shadow: 0 0 30px -10px rgba(255, 190, 144, 0.35); }
.tabs__stage { grid-column: 2 / span 3; display: grid; }
.portal-panel {
	grid-area: 1 / 1; min-height: 100%; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 56px 72px 64px; border-radius: 120px 0 120px 0;
	background: radial-gradient(110% 120% at 100% 100%, rgb(213, 14, 11) 0%, rgb(197, 12, 10) 8.3%, rgb(181, 11, 9) 16.7%, rgb(165, 10, 8) 25%, rgb(150, 8, 7) 33.3%, rgb(134, 8, 6) 41.7%, rgb(120, 7, 6) 50%, rgb(105, 7, 6) 58.3%, rgb(91, 7, 6) 66.7%, rgb(77, 7, 6) 75%, rgb(64, 7, 6) 83.3%, rgb(51, 7, 6) 91.7%, rgb(38, 7, 6) 100%);
	box-shadow: 0 40px 140px -20px rgba(213, 14, 11, 0.45);
	animation: panel-in .5s var(--ease);
}
.portal-panel[hidden] { display: none; }
@keyframes panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.portal-panel__title { font-size: var(--d2); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; max-width: 720px; text-wrap: balance; }
.portal-panel__text { font-size: var(--stmt); font-weight: 300; line-height: 1.4; letter-spacing: -0.01em; color: var(--white); max-width: 680px; text-wrap: pretty; }
@media (max-width: 1023px) {
	.tabs { display: flex; flex-direction: column; gap: 16px; }
	.tab { min-height: 72px; padding: 18px 24px; border-radius: 24px 0 24px 0; }
	.portal-panel { min-height: 0; padding: 40px 32px 44px; border-radius: 72px 0 72px 0; }
}
@media (max-width: 599px) { .portal-panel { padding: 40px 24px; border-radius: 56px 0 56px 0; } }

/* who we work with: three portal cards, every card shows its title and text;
   the active one widens and lights up, the others stay readable but quieter */
.xcards { display: flex; gap: var(--gap); min-height: 400px; }
.xcard {
	position: relative; isolation: isolate; overflow: hidden; min-width: 0;
	flex: 1 1 0; display: flex; flex-direction: column; justify-content: space-between; gap: 40px;
	padding: 52px 44px 44px; border-radius: 48px 0 48px 0;
	background: var(--surface); border: 1px solid var(--outline);
	transition: flex-grow .6s var(--ease), border-radius .6s var(--ease), border-color .3s ease, box-shadow .6s ease;
}
.xcard::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .6s ease;
	background: radial-gradient(110% 120% at 100% 100%, rgb(213, 14, 11) 0%, rgb(197, 12, 10) 8.3%, rgb(181, 11, 9) 16.7%, rgb(165, 10, 8) 25%, rgb(150, 8, 7) 33.3%, rgb(134, 8, 6) 41.7%, rgb(120, 7, 6) 50%, rgb(105, 7, 6) 58.3%, rgb(91, 7, 6) 66.7%, rgb(77, 7, 6) 75%, rgb(64, 7, 6) 83.3%, rgb(51, 7, 6) 91.7%, rgb(38, 7, 6) 100%);
}
.xcard:not(.is-open):hover { border-color: var(--outline-hover); }
.xcard.is-open { flex-grow: 1.55; border-color: transparent; border-radius: 120px 0 120px 0; box-shadow: 0 40px 140px -20px rgba(213, 14, 11, 0.45); }
.xcard.is-open::before { opacity: 1; }
.xcard__title { margin: 0; }
.xcard__btn {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; width: 100%;
	padding: 0; background: none; border: 0; color: var(--white); text-align: left; cursor: pointer;
	font: inherit; font-size: var(--t); font-weight: 300; line-height: 1.2; letter-spacing: -0.01em;
}
.xcard__btn span { text-wrap: balance; }
.xcard__ic { flex: none; margin-top: 6px; color: var(--peach); transition: transform .4s var(--ease), opacity .3s; }
.xcard.is-open .xcard__ic { transform: rotate(45deg); opacity: 0; }
.xcard__text {
	margin: 0; font-size: 16px; font-weight: 400; line-height: 1.6; color: rgba(255, 255, 255, 0.62); max-width: 460px; text-wrap: pretty;
	transition: color .4s ease, font-size .4s var(--ease);
}
.xcard.is-open .xcard__text { color: var(--white); font-size: var(--lead); line-height: 1.55; }
@media (max-width: 1199px) {
	.xcards { flex-direction: column; min-height: 0; gap: 12px; }
	.xcard, .xcard.is-open { flex: none; border-radius: 48px 0 48px 0; padding: 28px 32px 32px; gap: 16px; }
	.xcard.is-open { border-radius: 72px 0 72px 0; }
	.xcard:not(.is-open) .xcard__text { display: none; }
}
@media (max-width: 599px) { .xcard, .xcard.is-open { padding: 26px 24px 30px; } .xcard.is-open { border-radius: 56px 0 56px 0; } }

/* transactions: three portal cards */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.card {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; flex-direction: column; gap: 20px; min-height: 320px;
	padding: 56px 44px 44px; border-radius: 120px 0 120px 0; /* the first line sits clear of the 120px arc */
	background: var(--surface); border: 1px solid var(--outline);
}
.card::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: radial-gradient(110% 120% at 100% 100%, rgb(213, 14, 11) 0%, rgb(197, 12, 10) 8.3%, rgb(181, 11, 9) 16.7%, rgb(165, 10, 8) 25%, rgb(150, 8, 7) 33.3%, rgb(134, 8, 6) 41.7%, rgb(120, 7, 6) 50%, rgb(105, 7, 6) 58.3%, rgb(91, 7, 6) 66.7%, rgb(77, 7, 6) 75%, rgb(64, 7, 6) 83.3%, rgb(51, 7, 6) 91.7%, rgb(38, 7, 6) 100%);
	opacity: 0; transition: opacity .5s ease;
}
.card::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: radial-gradient(60% 60% at var(--mx, 80%) var(--my, 90%), rgba(255, 190, 144, 0.180) 0%, rgba(255, 190, 144, 0.175) 7%, rgba(255, 190, 144, 0.161) 14%, rgba(255, 190, 144, 0.141) 21%, rgba(255, 190, 144, 0.117) 28%, rgba(255, 190, 144, 0.090) 35%, rgba(255, 190, 144, 0.063) 42%, rgba(255, 190, 144, 0.039) 49%, rgba(255, 190, 144, 0.019) 56%, rgba(255, 190, 144, 0.005) 63%, rgba(255, 190, 144, 0) 70%);
	opacity: 0; transition: opacity .4s ease;
}
.card:hover::before { opacity: 1; }
.card:hover::after { opacity: 1; }
.card:hover { border-color: transparent; box-shadow: 0 40px 120px -30px rgba(213, 14, 11, 0.45); }
.card { transition: box-shadow .5s ease, border-color .5s ease; }
.card__num { font-size: 16px; font-weight: 600; color: var(--peach); letter-spacing: 0.04em; }
.card__title { font-size: var(--h3); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; margin: 0; padding-top: clamp(20px, 2.4vw, 36px); }
.card .body { color: rgba(255, 255, 255, 0.86); }
@media (max-width: 1199px) { .card { border-radius: 80px 0 80px 0; padding: 40px 28px 36px; } }
@media (max-width: 1023px) {
	.cards { grid-template-columns: 1fr; gap: 16px; }
	.card { min-height: 0; border-radius: 64px 0 64px 0; }
	.card__title { padding-top: 32px; }
}
@media (max-width: 599px) {
	.card { padding: 28px 24px 32px; border-radius: 56px 0 56px 0; gap: 16px; }
	.card__title { padding-top: 16px; }
}

/* panels */
.section.compliance, .section.cta, .section.ip-reg { border-top: 0; }
.section.compliance { padding-top: 0; }
.section.cta { padding-top: 0; }
.panel { position: relative; overflow: hidden; }
.panel--maroon {
	border-radius: 160px 0 160px 0;
	border: 1px solid transparent;
	background: radial-gradient(60% 90% at 0% 0%, rgba(111, 7, 6, 0.550) 0%, rgba(102, 7, 6, 0.536) 8%, rgba(92, 7, 6, 0.500) 16%, rgba(83, 8, 6, 0.444) 24%, rgba(73, 8, 6, 0.376) 32%, rgba(64, 8, 6, 0.300) 40%, rgba(54, 8, 6, 0.220) 48%, rgba(45, 9, 8, 0.144) 56%, rgba(36, 10, 9, 0.076) 64%, rgba(26, 11, 10, 0.024) 72%, rgba(17, 12, 11, 0) 80%) padding-box, var(--base-fill) padding-box, var(--live) border-box;
	padding: 120px var(--pad);
	margin: 0 calc(var(--pad) * -1);
	row-gap: 40px;
}
.compliance__title { grid-column: 1 / span 2; }
.compliance__body { grid-column: 3 / span 2; display: flex; flex-direction: column; gap: 20px; }
.compliance__body .lead { color: rgba(255, 255, 255, 0.86); }
.compliance__body .btn { align-self: flex-start; margin-top: 16px; }

.cta .panel--red {
	border-radius: 200px 0 200px 0;
	background: radial-gradient(110% 130% at 100% 100%, rgb(213, 14, 11) 0%, rgb(196, 12, 10) 8.3%, rgb(180, 11, 9) 16.7%, rgb(164, 9, 8) 25%, rgb(149, 8, 7) 33.3%, rgb(134, 8, 6) 41.7%, rgb(119, 7, 6) 50%, rgb(105, 7, 6) 58.3%, rgb(92, 7, 6) 66.7%, rgb(79, 7, 6) 75%, rgb(66, 7, 6) 83.3%, rgb(54, 8, 7) 91.7%, rgb(42, 8, 7) 100%);
	box-shadow: 0 50px 160px -30px rgba(213, 14, 11, 0.5);
	padding: 120px var(--pad);
	margin: 0 calc(var(--pad) * -1);
	display: flex; flex-direction: column; align-items: flex-start; gap: 40px;
}
.cta__title { max-width: 820px; }
.cta__text { color: rgba(255, 255, 255, 0.9); max-width: 560px; }
.panel--red::after {
	content: ""; position: absolute; width: 80%; aspect-ratio: 1; right: -25%; bottom: -61%;
	background: radial-gradient(closest-side, rgba(255, 190, 144, 0.200) 0%, rgba(255, 190, 144, 0.196) 8%, rgba(255, 190, 144, 0.185) 17%, rgba(255, 190, 144, 0.169) 25%, rgba(255, 190, 144, 0.148) 33%, rgba(255, 190, 144, 0.125) 42%, rgba(255, 190, 144, 0.100) 50%, rgba(255, 190, 144, 0.075) 58%, rgba(255, 190, 144, 0.052) 67%, rgba(255, 190, 144, 0.031) 75%, rgba(255, 190, 144, 0.015) 83%, rgba(255, 190, 144, 0.004) 92%, rgba(255, 190, 144, 0) 100%);
	animation: drift 12s ease-in-out infinite alternate; pointer-events: none;
}
@keyframes drift { from { transform: translate(0, 0); } to { transform: translate(-8%, -6%); } }

@media (max-width: 1023px) {
	.panel--maroon { display: flex; flex-direction: column; gap: 32px; padding: 72px 32px; margin: 0; border-radius: 80px 0 80px 0; }
	.cta .panel--red { padding: 72px 32px; margin: 0; border-radius: 96px 0 96px 0; gap: 32px; }
}
@media (max-width: 599px) {
	.panel--maroon { padding: 56px 24px; border-radius: 56px 0 56px 0; }
	.cta .panel--red { padding: 56px 24px 48px; border-radius: 64px 0 64px 0; }
}

/* ------------------------------------------------------------- footer
   The menu is always one tap away in the sticky header, and the CTA panel above already asks to get
   in touch. So the footer is quiet reference: who the fund is and how to reach it come first,
   the menu and legal links are secondary. Four equal columns on the page grid:
   1 logo, address, LEI / ISIN · 2 phone, e-mail · 3 menu, Investor login · 4 legal links.
   Weights: contacts white 16 · menu and legal 14 at 72 % · requisites 14 at 55 % · disclaimer 13.
   ------------------------------------------------------------------------- */
.site-footer { position: relative; background: var(--foot); padding: 80px 0 40px; font-size: 14px; line-height: 1.55; border-top: 1px solid var(--line); }
.site-footer p { margin: 0; }
.site-footer a { position: relative; display: inline-block; }
.footer__main { row-gap: 48px; align-items: start; padding-bottom: 64px; }
.footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; color: rgba(255, 255, 255, 0.55); }
.footer__logo { margin-bottom: 8px; }
.footer__logo .logo { width: 100px; }
.footer__brand p { max-width: 280px; }
.footer__ids { display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }

.footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 52px; }
.footer__contact a { font-size: 16px; font-weight: 500; color: var(--white); overflow-wrap: anywhere; padding: 2px 0; }

.footer__title { margin: 0 0 14px; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.45); }
.footer__nav, .footer__legal { padding-top: 52px; }
.footer__legal { display: flex; flex-direction: column; align-items: flex-start; }
.footer__nav { display: flex; flex-direction: column; align-items: flex-start; }
.footer__menu, .footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.footer__menu a, .footer__links a { padding: 2px 0; color: rgba(255, 255, 255, 0.72); transition: color .25s ease; }
.footer__menu a:hover, .footer__links a:hover { color: var(--white); }

.footer__contact a { transition: color .25s ease; }
.footer__contact a:hover { color: var(--peach); }

.footer__bottom { padding-top: 28px; border-top: 1px solid var(--rule); row-gap: 16px; align-items: start; }
.footer__disclaimer { grid-column: 1 / span 3; max-width: 880px; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, 0.5); }
.footer__disclaimer strong { color: rgba(255, 255, 255, 0.78); font-weight: 600; }
.footer__legal .footer__login { margin: 18px 0 0 -14px; }
.site-footer .login { display: inline-flex; }
.footer__copy { grid-column: 4; }
.footer__copy { font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, 0.5); }

@media (max-width: 1023px) {
	.site-footer { padding: 64px 0 36px; }
	.footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; padding-bottom: 48px; }
	.footer__contact, .footer__nav, .footer__legal { padding-top: 0; }
	.footer__contact { padding-top: 52px; }
	.footer__bottom { grid-template-columns: 1fr; }
	.footer__disclaimer, .footer__copy { grid-column: 1; }
}
@media (max-width: 599px) {
	.site-footer { padding: 48px 0 32px; }
	.footer__main { column-gap: 20px; row-gap: 32px; padding-bottom: 40px; }
	.footer__brand, .footer__contact { grid-column: 1 / -1; }
	.footer__contact { padding: 20px 0; gap: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
	.footer__contact a { font-size: 17px; padding: 8px 0; }
	.footer__menu, .footer__links { gap: 0; }
	.footer__menu a, .footer__links a { padding: 8px 0; font-size: 15px; }
	.footer__legal .footer__login { margin-top: 8px; }
}

/* -------------------------------------------------------- inner pages
   Secondary pages share one quiet, editorial system. Big type, air, one light source per screen.
   Same vocabulary as the home page: leaves, the red portal panel, glow; no new decoration.
   ph        page hero: label, title, lead left; an aside panel right (proof: entities + registers).
   sh        section head: title on the left half, intro paragraph on the right half.
   tiles     key facts as small leaves with a lava edge on top.
   tabs--entities  tabs on the left, the details in the red portal panel (as Investment scope in the sketch).
   reg       title + status left (sticky); points as leaves that stack up on scroll.
   org       partners as outline leaves, the Fund as the red portal panel between them; Independence row.
   ------------------------------------------------------------------------- */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.runin { font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, 0.7); }
.runin strong { font-weight: 600; color: var(--white); }

/* page hero: title and lead left; an aside panel right (Fund Structure: the "proof" panel) */
.ph { position: relative; overflow: hidden; margin-top: -1px; border-bottom: 1px solid var(--rule); }
.ph .hero__glow { --gx: 80%; --gy: 62%; }

.ph__grid { position: relative; align-items: center; min-height: clamp(600px, 80vh, 780px); padding-block: 80px 136px; }
.ph__text { grid-column: 1 / span 2; position: relative; z-index: 1; display: flex; flex-direction: column; gap: 0; }
.ph__text > .caps { margin-bottom: var(--kicker-gap); }
.ph__lead { margin-top: var(--title-gap); }
.ph__lead { font-size: var(--stmt); font-weight: 300; line-height: 1.45; letter-spacing: -0.01em; color: rgba(255, 255, 255, 0.86); }
.ph__aside { grid-column: 3 / span 2; position: relative; isolation: isolate; }
/* the red portal leaf behind the panel: the same leaf as the red panels of the site, offset down and right,
   so the data panel sits in front of the lava light – the echo of the red sign in the home hero */
.ph__aside::before {
	content: ""; position: absolute; z-index: -1; inset: 56px calc(var(--m) * -1 - 8px) -56px 56px; border-radius: 120px 0 120px 0;
	background: radial-gradient(110% 120% at 100% 100%, rgb(254, 159, 93) 0%, rgb(247, 107, 64) 7.1%, rgb(237, 60, 37) 14.3%, rgb(225, 27, 19) 21.4%, rgb(212, 14, 11) 28.6%, rgb(194, 11, 9) 35.7%, rgb(171, 9, 8) 42.9%, rgb(146, 8, 7) 50%, rgb(124, 7, 6) 57.1%, rgb(106, 7, 6) 64.3%, rgb(90, 7, 6) 71.4%, rgb(76, 7, 6) 78.6%, rgb(63, 7, 6) 85.7%, rgb(52, 8, 7) 92.9%, rgb(42, 8, 7) 100%);
	box-shadow: 0 30px 90px -30px rgba(213, 14, 11, 0.55);
}
.proof { position: relative; padding: 36px 40px 32px; border-radius: 80px 0 80px 0; background: var(--surface); border: 1px solid var(--outline); }
.proof__row { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 28px 0; border-top: 1px solid var(--line); }
.proof__row:first-child { border-top: 0; padding-top: 0; }
.proof__row:last-child { padding-bottom: 0; }
.proof__name { font-size: var(--t); font-weight: 300; line-height: 1.2; letter-spacing: -0.01em; color: var(--white); transition: color .3s ease; }
.proof__name:hover { color: var(--peach); }
.proof__ids { width: 100%; margin: 10px 0 4px; }
.proof__ids div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 20px; padding: 10px 0; border-top: 1px solid var(--line); }
.proof__ids dd { font-size: 16px; color: var(--white); font-variant-numeric: tabular-nums; }

/* section rhythm */
.ip { padding: var(--sec) 0; }
.sh { align-items: start; row-gap: 24px; margin-bottom: var(--head-gap); }
.sh__title { grid-column: 1 / span 2; }
.sh__intro { grid-column: 3 / span 2; font-size: var(--stmt); font-weight: 300; line-height: 1.45; color: rgba(255, 255, 255, 0.86); }

/* tiles: key facts as small leaves with a lava edge on top (the gradient of the sign) */
.tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.tile {
	position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; min-height: 240px;
	padding: 28px 24px 30px; border-radius: 40px 0 40px 0; border: 1px solid var(--rule); border-top: 0;
	background: var(--surface);
	transition: box-shadow .5s ease, transform .5s var(--ease);
}
.tile::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, #6F0706, #D50E0B 35%, #FE9F5D 70%, #FFBE90); opacity: .9; transition: height .5s var(--ease); }
.tile:hover { transform: translateY(-4px); box-shadow: 0 30px 80px -30px rgba(213, 14, 11, 0.45); }
.tile:hover::after { height: 5px; }
.tile__term { font-size: clamp(22px, 0.7vw + 16px, 26px); font-weight: 300; line-height: 1.15; letter-spacing: -0.015em; color: var(--white); }
.tile__text { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, 0.72); }

/* cards--5: five strict cards, the "Transactions" card at a smaller size */
.cards--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.card--sm { min-height: 260px; justify-content: space-between; gap: 20px; padding: 32px 26px 30px; border-radius: 64px 0 64px 0; }
.card--sm .card__title { padding-top: 0; font-size: var(--t); line-height: 1.2; letter-spacing: -0.01em; }
.card--sm .body { font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, 0.72); transition: color .4s ease; }
.card--sm:hover .body { color: rgba(255, 255, 255, 0.92); }

/* entities: tabs with the red portal panel */
.ip-entities { position: relative; }
.anchor { position: absolute; top: 0; }
.tabs--entities .tab { flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; min-height: 132px; padding: 26px 28px; }
.tabs--entities .tab .t { font-size: var(--t); font-weight: 300; line-height: 1.2; }
.ent { justify-content: flex-start; gap: 0; padding: 64px 72px 56px; }
.ent__name { font-size: var(--h3); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; max-width: 760px; text-wrap: balance; }
.ent__former { margin-top: 16px; font-size: 16px; color: rgba(255, 255, 255, 0.72); }
.ent__former span { color: rgba(255, 255, 255, 0.5); margin-right: 6px; }
.ent__figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 28px; margin: 48px 0 0; padding: 28px 0; border-top: 1px solid rgba(255, 255, 255, 0.18); border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.ent__figures .is-wide { grid-column: span 2; }
.ent__figures dt, .ent__facts dt { margin-bottom: 6px; }
.ent__figures > div { display: flex; flex-direction: column; justify-content: space-between; }
.ent__figures dd { font-size: var(--t); font-weight: 300; line-height: 1.2; letter-spacing: 0.01em; font-variant-numeric: tabular-nums lining-nums; color: var(--white); overflow-wrap: anywhere; }
.ent__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; margin: 28px 0 0; }
.ent__facts dd { font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, 0.92); }
.ent__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; margin-top: 36px; }
.ent__links > span { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.6); margin-right: 8px; }
.ent .link { color: var(--peach-hi); }
.link--ext .ic-arrow--ext { width: 16px; height: 16px; }
.link--ext:hover .ic-arrow { transform: translate(2px, -2px); }

/* regulatory: title and status stay on the left; the points stack up as leaves while you scroll */
.reg__grid { align-items: start; }
.reg__head { grid-column: 1 / span 2; position: sticky; top: 130px; display: flex; flex-direction: column; gap: var(--kicker-gap); padding-right: 24px; }
.reg__body { grid-column: 3 / span 2; display: flex; flex-direction: column; gap: 20px; }
.reg__lead { font-size: var(--stmt); font-weight: 300; line-height: 1.45; color: var(--white); margin-bottom: 24px; }
.stack { display: flex; flex-direction: column; gap: 20px; list-style: none; margin: 0; padding: 0; }
.stack li {
	position: sticky; top: calc(130px + var(--i) * 16px); overflow: hidden; display: flex; align-items: flex-end; min-height: 180px; padding: 36px 40px;
	border-radius: 64px 0 64px 0; font-size: var(--t); font-weight: 300; line-height: 1.4; color: var(--white);
	background: var(--surface); box-shadow: 0 -24px 60px -24px rgba(0, 0, 0, 0.7), inset 0 0 0 1px var(--outline);
}
.status { display: flex; flex-direction: column; gap: 10px; padding: 28px 32px 30px; border-radius: 40px 0 40px 0; border: 1px solid transparent; background: var(--accent-bg) padding-box, var(--base-fill) padding-box, var(--live-gold) border-box; }
.status__value { font-size: var(--t); font-weight: 300; line-height: 1.3; color: var(--peach); }

/* organised: the two partners as outline leaves, the Fund as the red portal panel between them,
   joined by fine Peach lines; Independence as a statement row below */
.org { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: var(--gap); align-items: stretch; margin-top: 16px; }
.org__p { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 44px 36px 40px; border-radius: 80px 0 80px 0; background: var(--surface); box-shadow: inset 0 0 0 1px var(--outline); }
.org__name { font-size: var(--t); font-weight: 300; line-height: 1.2; }
.org__p p { margin-top: auto; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, 0.72); }
.org__p--fund { margin: -36px 0; padding: 72px 48px 56px; border-radius: 120px 0 120px 0; overflow: hidden; isolation: isolate; border: 1px solid transparent; background: radial-gradient(60% 90% at 0% 0%, rgba(111, 7, 6, 0.550) 0%, rgba(102, 7, 6, 0.536) 8%, rgba(92, 7, 6, 0.500) 16%, rgba(83, 8, 6, 0.444) 24%, rgba(73, 8, 6, 0.376) 32%, rgba(64, 8, 6, 0.300) 40%, rgba(54, 8, 6, 0.220) 48%, rgba(45, 9, 8, 0.144) 56%, rgba(36, 10, 9, 0.076) 64%, rgba(26, 11, 10, 0.024) 72%, rgba(17, 12, 11, 0) 80%) padding-box, var(--base-fill) padding-box, var(--live) border-box; box-shadow: none; }
.org__p--fund b { color: var(--peach-hi); }
.org__p--fund .org__name { font-size: var(--h3); line-height: 1.08; letter-spacing: -0.02em; }
.org__p--fund p { font-size: var(--lead); line-height: 1.55; color: rgba(255, 255, 255, 0.92); }
.org__p--gp::after, .org__p--lp::before { content: ""; position: absolute; top: 50%; width: var(--gap); height: 1px; background: linear-gradient(90deg, var(--outline), var(--peach), var(--outline)); box-shadow: 0 0 8px var(--gold); }
.org__p--gp::after { left: 100%; }
.org__p--lp::before { right: 100%; }
.org__ind { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--gap); margin-top: 104px; padding-top: 40px; border-top: 1px solid var(--rule); }
.org__ind b { grid-column: 1; font-size: var(--t); font-weight: 300; line-height: 1.25; color: var(--peach); }
.org__ind p { grid-column: 2 / span 3; font-size: var(--stmt); font-weight: 300; line-height: 1.45; }
/* the diagram drawn with the halves of the sign (lava_model_diagram) stays available */
.dg { width: 100%; height: auto; overflow: visible; }
.dg__half { stroke: rgba(255, 190, 144, 0.85); stroke-width: 1.2; fill: rgba(255, 190, 144, 0.04); }
.dg__half--s { stroke: rgba(255, 190, 144, 0.6); }
.dg__line { stroke: rgba(255, 190, 144, 0.6); stroke-width: 1; }
.dg__dot { fill: var(--peach); }

/* -------------------------------------------------------- Services (What we do)
   idx       hero index: the three areas as rows in the proof panel, each a link to its section.
   areas     one row per area on the grid: number + title (cols 1–2), the client's list (cols 3–4).
   limits    what the Fund does not do: two outline panels side by side.
   case      a transaction example: title and text left, three figures right. Hidden until the client sends it.
   ------------------------------------------------------------------------- */
.proof--index { padding-bottom: 20px; }
.proof--index > .proof__kind { display: block; margin-bottom: 12px; }
.idx {
	display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px;
	min-height: 76px; padding: 0 16px; margin: 0 -16px; border-top: 1px solid var(--line);
	border-radius: 0; transition: background-color .3s ease, border-radius .3s ease;
}
.idx:hover { background: var(--tint); border-radius: 20px 0 20px 0; }
.idx:hover + .idx, .idx:hover { border-top-color: transparent; }
.idx__num { font-size: 14px; font-weight: 600; letter-spacing: 0.04em; color: var(--peach); }
.idx__name { font-size: var(--t); font-weight: 300; line-height: 1.2; letter-spacing: -0.01em; color: var(--white); }
.idx .ic-arrow { color: var(--peach); }
.idx:hover .ic-arrow { transform: translateX(4px); }

.areas { border-bottom: 1px solid var(--outline); }
.area { position: relative; isolation: isolate; align-items: start; row-gap: 24px; padding: 56px 0 60px; border-top: 1px solid var(--outline); }
.area::before { content: ""; position: absolute; inset: 0 calc(var(--pad) * -1); z-index: -1; opacity: 0; transition: opacity .5s ease;
	background: radial-gradient(40% 140% at 0% 50%, rgba(213, 14, 11, 0.220) 0%, rgba(213, 14, 11, 0.214) 7.5%, rgba(213, 14, 11, 0.197) 15%, rgba(213, 14, 11, 0.172) 22.5%, rgba(213, 14, 11, 0.143) 30%, rgba(213, 14, 11, 0.110) 37.5%, rgba(213, 14, 11, 0.077) 45%, rgba(213, 14, 11, 0.048) 52.5%, rgba(213, 14, 11, 0.023) 60%, rgba(213, 14, 11, 0.006) 67.5%, rgba(213, 14, 11, 0) 75%); }
.area:hover::before { opacity: 1; }
.area__head { grid-column: 1 / span 2; display: flex; flex-direction: column; gap: 20px; }
.area__num { font-size: 16px; font-weight: 600; letter-spacing: 0.04em; color: var(--peach); }
.area__title { font-size: var(--h3); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; }
.area__body { grid-column: 3 / span 2; display: flex; flex-direction: column; gap: 20px; padding-top: 40px; }
.area__intro { font-size: var(--lead); line-height: 1.55; color: var(--white); }
.ticks li, .nots li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--line); font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, 0.82); }
.ticks li:first-child { border-top: 0; }
.ticks li::before { content: ""; position: absolute; left: 2px; top: 25px; width: 12px; height: 1px; background: var(--peach); }

.limits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.limit { display: flex; flex-direction: column; gap: 20px; padding: 44px 44px 32px; border-radius: 64px 0 64px 0; background: var(--surface); border: 1px solid var(--outline); }
.limit__title { font-size: var(--t); font-weight: 300; line-height: 1.25; color: var(--white); text-wrap: balance; }
.nots li:first-child { border-top: 0; }
.nots li::before, .nots li::after { content: ""; position: absolute; left: 2px; top: 25px; width: 11px; height: 1px; background: var(--peach); transform: rotate(45deg); }
.nots li::after { transform: rotate(-45deg); }
.section.ip-limits { padding-top: 0; }

.case { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 0 var(--gap); padding: 56px 56px 52px; border-radius: 80px 0 80px 0; border: 1px solid transparent; background: var(--surface) padding-box, var(--live) border-box; }
.case__main { display: flex; flex-direction: column; gap: 20px; }
.case__title { font-size: var(--h3); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; max-width: 720px; text-wrap: balance; }
.case__text { margin-top: 12px; }
.case__text div, .case__facts div { padding: 18px 0; border-top: 1px solid var(--line); }
.case__text dt, .case__facts dt { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.6); margin-bottom: 6px; }
.case__text dd { font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, 0.86); }
.case__facts { align-self: end; }
.case__facts dd { font-size: var(--t); font-weight: 300; line-height: 1.25; color: var(--white); }
/* design preview only: the client has not sent the examples yet */
.is-draft .case { background: var(--surface) padding-box, var(--outline) border-box; }
.is-draft .case dd, .is-draft .case__title, .is-draft .sh__intro { color: rgba(255, 255, 255, 0.45); }

.section.ip-areas::before, .section.ip-examples::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: -18%;
	width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; translate: 0 var(--pool, 0px);
	background: radial-gradient(closest-side, rgba(213, 14, 11, 0.100) 0%, rgba(197, 13, 10, 0.099) 7.6%, rgba(182, 12, 9, 0.094) 15.2%, rgba(166, 11, 9, 0.088) 22.8%, rgba(151, 10, 8, 0.079) 30.4%, rgba(135, 9, 7, 0.069) 38%, rgba(120, 8, 6, 0.057) 45.6%, rgba(111, 7, 6, 0.044) 53.2%, rgba(111, 7, 6, 0.030) 60.8%, rgba(111, 7, 6, 0.015) 68.4%, rgba(111, 7, 6, 0) 76%);
}
.section.ip-areas::before { right: -28%; }
.section.ip-examples::before { left: -28%; }

@media (max-width: 1023px) {
	.area { display: flex; flex-direction: column; gap: 20px; padding: 40px 0 44px; }
	.area__head { flex-direction: row; align-items: baseline; gap: 16px; }
	.area__body { padding-top: 0; }
	.limits { grid-template-columns: 1fr; gap: 16px; }
	.limit { padding: 36px 32px 24px; border-radius: 48px 0 48px 0; }
	.case { grid-template-columns: 1fr; padding: 44px 32px 36px; border-radius: 64px 0 64px 0; }
	.case__facts { margin-top: 12px; }
	.section.ip-areas::before, .section.ip-examples::before { width: 130vw; }
}
@media (max-width: 599px) {
	.limit { padding: 28px 22px 16px; border-radius: 40px 0 40px 0; }
	.case { padding: 32px 22px 24px; border-radius: 48px 0 48px 0; }
	.ticks li, .nots li { font-size: 16px; }
	.idx { min-height: 64px; }
}

/* -------------------------------------------------------- How We Work
   steps     the five stages along a rail at the left edge of the content. The rail is a --line hairline;
             a lava fill (Peach → red) grows down it as the stages scroll past (--p from main.js), and each
             stage's node – a small leaf – lights up Peach when reached. Head in cols 1–2, text in cols 3–4.
   ------------------------------------------------------------------------- */
.steps { position: relative; --p: 0; --rail: 7px; }
.steps__list { list-style: none; margin: 0; padding: 0; }
.steps__rail { position: absolute; left: var(--rail); top: 12px; bottom: 0; width: 1px; background: var(--line); }
.steps__fill { position: absolute; left: 0; top: 0; width: 1px; height: calc(var(--p) * 100%); background: linear-gradient(180deg, #FFBE90, #FE9F5D 40%, #D50E0B); box-shadow: 0 0 10px rgba(254, 159, 93, 0.6); }
.step { position: relative; align-items: start; row-gap: 20px; padding: 0 0 112px; }
.step:last-child { padding-bottom: 0; }
.step__node { position: absolute; left: 0; top: 4px; width: 15px; height: 15px; border-radius: 7px 0 7px 0; background: var(--base); box-shadow: inset 0 0 0 1px var(--outline-hover); transition: background-color .5s ease, box-shadow .5s ease; }
.step.is-on .step__node { background: var(--peach); box-shadow: 0 0 0 5px rgba(255, 190, 144, 0.12), 0 0 18px rgba(254, 159, 93, 0.6); }
.step__head { grid-column: 1 / span 2; display: flex; flex-direction: column; gap: var(--kicker-gap); padding-left: 56px; }
.step__head .caps { line-height: 23px; }
@media (min-width: 1024px) { .step__head { position: sticky; top: 130px; } }
.step__title { font-size: var(--d2); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; max-width: 420px; text-wrap: balance; }
.step__body { grid-column: 3 / span 2; display: flex; flex-direction: column; gap: 24px; padding-top: 51px; }
.step__intro { font-size: var(--stmt); font-weight: 300; line-height: 1.45; letter-spacing: -0.01em; color: rgba(255, 255, 255, 0.92); }
.step__after { font-size: var(--lead); line-height: 1.55; color: var(--muted); }
.step__body .ticks li:first-child { border-top: 1px solid var(--line); }
.step__body .ticks { border-bottom: 1px solid var(--line); }
.step__body > .ticks:first-child li:first-child { border-top: 0; }
.step__body > .ticks:first-child { border-bottom: 0; }
.section.ip-steps::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: 10%; right: -28%;
	width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; translate: 0 var(--pool, 0px);
	background: radial-gradient(closest-side, rgba(213, 14, 11, 0.100) 0%, rgba(197, 13, 10, 0.099) 7.6%, rgba(182, 12, 9, 0.094) 15.2%, rgba(166, 11, 9, 0.088) 22.8%, rgba(151, 10, 8, 0.079) 30.4%, rgba(135, 9, 7, 0.069) 38%, rgba(120, 8, 6, 0.057) 45.6%, rgba(111, 7, 6, 0.044) 53.2%, rgba(111, 7, 6, 0.030) 60.8%, rgba(111, 7, 6, 0.015) 68.4%, rgba(111, 7, 6, 0) 76%);
}
@media (max-width: 1023px) {
	.step { display: flex; flex-direction: column; gap: 24px; padding-bottom: 80px; }
	.step__head { padding-left: 44px; gap: 16px; }
	.step__body { padding: 0 0 0 44px; }
	.section.ip-steps::before { width: 130vw; }
}
@media (max-width: 599px) {
	.step { padding-bottom: 64px; }
	.step__head, .step__body { padding-left: 36px; }
}

/* -------------------------------------------------------- Compliance
   laws      the legal framework as the hero proof panel: one act per row.
   rstatus   Regulatory status: title left, the entry (statement) and what it means right, register link.
   AML       reuses reg__grid + stack from Fund Structure. Conflicts: three strict cards with a number and a sentence.
   privacy   statement row (as Independence on Fund Structure); the Privacy Policy phrase is an inline Peach link.
   ------------------------------------------------------------------------- */
.proof--laws > .proof__kind { display: block; margin-bottom: 8px; }
.laws li { padding: 16px 0; border-top: 1px solid var(--line); font-size: 17px; line-height: 1.45; color: var(--white); }
.laws li:first-child { border-top: 0; }
.rstatus { align-items: start; row-gap: 24px; }
.rstatus__title { grid-column: 1 / span 2; }
.rstatus__body { grid-column: 3 / span 2; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.rstatus__text { font-size: var(--stmt); font-weight: 300; line-height: 1.45; letter-spacing: -0.01em; color: var(--white); }
.rstatus__note { font-size: var(--lead); line-height: 1.55; color: var(--muted); padding-top: 20px; border-top: 1px solid var(--line); }
.rstatus__body .link { margin-top: 4px; }
.section.ip-rstatus { padding-bottom: 0; }
.cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.card--note { min-height: 0; }
.card__note { font-size: var(--t); font-weight: 300; line-height: 1.35; color: var(--white); }
.section.ip-privacy { padding-top: 0; }
.privacy { margin-top: 0; }
.inline-link { color: var(--peach); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(255, 190, 144, 0.45); transition: text-decoration-color .25s ease; }
.inline-link:hover { text-decoration-color: var(--peach); }
.section.ip-conflicts::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: -18%; right: -28%;
	width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; translate: 0 var(--pool, 0px);
	background: radial-gradient(closest-side, rgba(213, 14, 11, 0.100) 0%, rgba(197, 13, 10, 0.099) 7.6%, rgba(182, 12, 9, 0.094) 15.2%, rgba(166, 11, 9, 0.088) 22.8%, rgba(151, 10, 8, 0.079) 30.4%, rgba(135, 9, 7, 0.069) 38%, rgba(120, 8, 6, 0.057) 45.6%, rgba(111, 7, 6, 0.044) 53.2%, rgba(111, 7, 6, 0.030) 60.8%, rgba(111, 7, 6, 0.015) 68.4%, rgba(111, 7, 6, 0) 76%);
}
@media (max-width: 1023px) {
	.rstatus { display: flex; flex-direction: column; }
	.cards--3 { grid-template-columns: 1fr; }
	.card--note { min-height: 0; }
	.section.ip-conflicts::before { width: 130vw; }
}

/* -------------------------------------------------------- Contacts
   cdetails  contact details in the hero proof panel: label / value rows, e-mail and phone are links.
   enquiry   the form in one panel (surface + living outline). Fields are leaves (R 0 R 0) with the outline;
             focus: Peach edge and tint. Two columns on desktop, one on phones. After sending, the client's
             success message takes the place of the form.
   ------------------------------------------------------------------------- */
.proof--contacts > .proof__kind { display: block; margin-bottom: 8px; }
.cdetails div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 20px; padding: 18px 0; border-top: 1px solid var(--line); align-items: baseline; }
.cdetails div:first-child { border-top: 0; }
.cdetails dt { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.6); }
.cdetails dd { font-size: var(--t); font-weight: 300; line-height: 1.3; color: var(--white); overflow-wrap: anywhere; }
.cdetails a { transition: color .25s ease; }
.cdetails a:hover { color: var(--peach); }

.enquiry { padding: 56px 56px 52px; border-radius: 80px 0 80px 0; border: 1px solid transparent; background: var(--surface) padding-box, var(--live) border-box; }
.form { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__grid { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
.field { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.field--wide { grid-column: 1 / -1; }
.field__label { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.72); }
.field__req { color: var(--peach); }
.field input, .field select, .field textarea {
	width: 100%; min-height: 56px; padding: 15px 20px; border-radius: 16px 0 16px 0;
	background: rgba(17, 12, 11, 0.45); border: 1px solid var(--outline); color: var(--white);
	font: inherit; font-size: 17px; line-height: 1.4; outline: none; -webkit-appearance: none; appearance: none;
	transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.field textarea { min-height: 168px; resize: vertical; border-radius: 24px 0 24px 0; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--outline-hover); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--peach); background: var(--tint); box-shadow: 0 0 0 3px rgba(255, 190, 144, 0.12); }
.field__select { position: relative; }
.field__select::after { content: ""; position: absolute; right: 22px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 1.5px solid var(--peach); border-bottom: 1.5px solid var(--peach); transform: rotate(45deg); pointer-events: none; }
.field select { padding-right: 52px; cursor: pointer; }
.field select option { background: #1E1311; color: var(--white); }
.check { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 16px; align-items: start; max-width: 760px; cursor: pointer; }
.check input { position: absolute; opacity: 0; width: 24px; height: 24px; margin: 0; cursor: pointer; }
.check__box { width: 24px; height: 24px; margin-top: 1px; border-radius: 8px 0 8px 0; border: 1px solid var(--outline-hover); background: rgba(17, 12, 11, 0.45); transition: background-color .2s ease, border-color .2s ease; position: relative; }
.check__box::after { content: ""; position: absolute; left: 8px; top: 3px; width: 6px; height: 12px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg); opacity: 0; transition: opacity .2s ease; }
.check input:checked + .check__box { background: var(--peach); border-color: var(--peach); }
.check input:checked + .check__box::after { opacity: 1; }
.check input:focus-visible + .check__box { outline: 2px solid var(--peach); outline-offset: 3px; }
.check__text { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, 0.72); }
.form .btn { margin-top: 4px; }
.enquiry__done { font-size: var(--stmt); font-weight: 300; line-height: 1.45; color: var(--white); max-width: 760px; padding: 24px 0; }
.section.ip-enquiry::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; top: -10%; left: -28%;
	width: min(72vw, 1040px); aspect-ratio: 1; border-radius: 50%; translate: 0 var(--pool, 0px);
	background: radial-gradient(closest-side, rgba(213, 14, 11, 0.100) 0%, rgba(197, 13, 10, 0.099) 7.6%, rgba(182, 12, 9, 0.094) 15.2%, rgba(166, 11, 9, 0.088) 22.8%, rgba(151, 10, 8, 0.079) 30.4%, rgba(135, 9, 7, 0.069) 38%, rgba(120, 8, 6, 0.057) 45.6%, rgba(111, 7, 6, 0.044) 53.2%, rgba(111, 7, 6, 0.030) 60.8%, rgba(111, 7, 6, 0.015) 68.4%, rgba(111, 7, 6, 0) 76%);
}
@media (max-width: 1023px) {
	.enquiry { padding: 40px 32px 36px; border-radius: 64px 0 64px 0; }
	.section.ip-enquiry::before { width: 130vw; }
}
@media (max-width: 599px) {
	.enquiry { padding: 28px 20px 28px; border-radius: 40px 0 40px 0; }
	.form__grid { grid-template-columns: 1fr; gap: 22px; }
	.cdetails div { grid-template-columns: 1fr; gap: 4px; }
	.form .btn { width: 100%; }
}

[id] { scroll-margin-top: 100px; }

@media (max-width: 1199px) {
	.tiles, .cards--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ent { padding: 48px 44px 44px; }
	.ent__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.proof { padding: 32px 32px 28px; }
	.ph__aside::before { inset: 40px -40px -40px 40px; border-radius: 96px 0 96px 0; }
	.reg__head { top: 110px; }
	.stack li { top: calc(110px + var(--i) * 14px); }
}
@media (max-width: 1023px) {
	.ph__grid { display: flex; flex-direction: column; align-items: stretch; gap: 48px; min-height: 0; padding-block: 64px 120px; }
	.sh { display: flex; flex-direction: column; align-items: stretch; }
	.tiles, .cards--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tabs--entities .tabs__list { flex-direction: row; }
	.tabs--entities .tab { min-height: 0; flex: 1; }
	.ent__facts { grid-template-columns: 1fr; }
	.reg__grid { display: flex; flex-direction: column; gap: 32px; }
	.reg__head { position: static; padding-right: 0; }
	.stack li { top: calc(88px + var(--i) * 12px); min-height: 150px; padding: 28px 24px; border-radius: 40px 0 40px 0; }
	.org { grid-template-columns: 1fr; gap: 16px; }
	.org__p--fund { margin: 0; padding: 56px 32px 44px; border-radius: 80px 0 80px 0; }
	.org__p--gp::after, .org__p--lp::before { display: none; }
	.org__ind { display: flex; flex-direction: column; gap: 12px; margin-top: 56px; }
}
@media (max-width: 599px) {
	.ph__grid { padding-block: 48px 96px; gap: 36px; }
	.proof { padding: 28px 22px 24px; border-radius: 40px 0 40px 0; }
	.proof__ids div { grid-template-columns: 1fr; gap: 2px; }
	.ph__aside::before { inset: 28px -20px -28px 28px; border-radius: 56px 0 56px 0; }
	.tiles, .cards--5 { grid-template-columns: 1fr; gap: 10px; }
	.card--sm { min-height: 0; padding: 26px 22px 26px; border-radius: 40px 0 40px 0; }
	.tile { min-height: 0; padding: 26px 22px 24px; border-radius: 28px 0 28px 0; }
	.tabs--entities .tab { padding: 16px 18px; border-radius: 22px 0 22px 0; }
	.tabs--entities .tab .t { font-size: 17px; }
	.ent { padding: 36px 24px 32px; }
	.ent__figures { grid-template-columns: 1fr; }
	.ent__figures .is-wide { grid-column: auto; }
	.status { padding: 22px 22px 24px; }
	.stack li { min-height: 0; padding: 24px 22px; font-size: 17px; }
	.org__p { padding: 32px 24px 30px; border-radius: 56px 0 56px 0; }
	.org__p--fund { padding: 44px 24px 36px; border-radius: 64px 0 64px 0; }
}

/* -------------------------------------------------------- inner pages */
.page .page__content { max-width: 760px; margin-top: 48px; color: var(--soft); font-size: 17px; }
.page .page__content > * + * { margin-top: 1em; }

/* -------------------------------------------------------- grid lines + grain */
/* Vertical grid lines: a quiet architectural hint on the first screen only. They fade out
   towards the bottom of the hero and do not run through the rest of the page. */
body::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 100vh; z-index: 0; pointer-events: none;
	max-width: var(--max); margin: 0 auto;
	background:
		linear-gradient(rgba(255, 190, 144, 0.06), rgba(255, 190, 144, 0.06)) var(--m) 0 / 1px 100% no-repeat,
		linear-gradient(rgba(255, 190, 144, 0.06), rgba(255, 190, 144, 0.06)) calc(100% - var(--m)) 0 / 1px 100% no-repeat;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 40%, transparent 92%); mask-image: linear-gradient(180deg, #000 0%, #000 40%, transparent 92%);
}
@media (max-width: 1023px) { body::before { display: none; } }
main, .site-footer { position: relative; z-index: 1; }
main { overflow-x: clip; }
.grain {
	position: fixed; inset: 0; z-index: 60; pointer-events: none; opacity: 0.08; mix-blend-mode: screen;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.75 0 0 0 0 0.6 0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------ reveal
   Content is visible by default. JS hides only blocks that start below the fold
   (.is-pending) and reveals them as they scroll in, so the page is complete without JS. */
/* Living outline on standalone panels (rule: one panel per block – Key facts, the hero panel of Fund Structure,
   the Compliance panel, the side panels of How the Fund is organised). Repeated cards in grids keep the plain outline. */
.facts, .proof, .org__p--gp, .org__p--lp { border: 1px solid transparent; background: var(--surface) padding-box, var(--live) border-box; box-shadow: none; }
[data-reveal] { transition: opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
[data-reveal="fade"] { transition-duration: 1.4s; }
[data-reveal].is-pending { opacity: 0; transform: translateY(18px); filter: blur(6px); }
[data-reveal="fade"].is-pending { transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; }
	[data-reveal].is-pending { opacity: 1; transform: none; }
}

/* touch screens: no sticky hover glow after a tap */
@media (hover: none) {
	.card:hover::before, .card:hover::after { opacity: 0; }
	.card:hover { box-shadow: none; border-color: var(--outline); }
	.about__media:hover .photo-sign__img { transform: none; }
	.btn:hover .ic-arrow { transform: none; }
	.btn--primary:hover { background: var(--peach); box-shadow: none; }
	.btn--secondary:hover { background: rgba(17, 12, 11, 0.35); border-color: rgba(255, 190, 144, 0.55); }
	.link:hover { background: none; }
	.link:hover .ic-arrow { transform: none; }
	.nav__list a:hover { background: none; }
	.btn--primary:active { background: var(--peach-lo); }
	.btn--secondary:active, .nav__list a:active { background: var(--tint-2); }
	.link:active { background: var(--tint-2); }
}
/* notched phones in landscape: keep content out of the cut-outs */
@supports (padding: max(0px)) {
	.wrap {
		padding-left: max(calc(var(--m) + var(--pad)), calc(env(safe-area-inset-left) + var(--pad)));
		padding-right: max(calc(var(--m) + var(--pad)), calc(env(safe-area-inset-right) + var(--pad)));
	}
}
@media (max-width: 599px) {
	.nav .btn--m { width: 100%; }
}

/* Example: a two-column table, as in the brief (label | value), under the example heading */
.case { grid-template-columns: 1fr; padding: 44px 56px 48px; border: 0; border-radius: 24px 0 24px 0; background: var(--surface); box-shadow: inset 0 0 0 1px var(--outline), 0 30px 80px -40px rgba(0, 0, 0, 0.8); }
.case__main { display: contents; }
.case .caps { order: 1; }
.case__title { order: 2; max-width: none; margin-top: 14px; padding-bottom: 28px; border-bottom: 1px solid var(--gold); }
.case__text, .case__facts { margin: 0; align-self: auto; box-shadow: inset 1px 0 0 var(--outline), inset -1px 0 0 var(--outline); }
.case__text { order: 3; margin-top: 32px; box-shadow: inset 1px 0 0 var(--outline), inset -1px 0 0 var(--outline), inset 0 1px 0 var(--outline); }
.case__facts { order: 4; box-shadow: inset 1px 0 0 var(--outline), inset -1px 0 0 var(--outline), inset 0 -1px 0 var(--outline); }
.case__text div, .case__facts div { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 2.6fr); padding: 0; border-top: 1px solid var(--line); }
.case__text div:first-child { border-top: 0; }
.case__text dt, .case__facts dt { margin: 0; padding: 18px 24px; background: rgba(255, 190, 144, 0.04); border-right: 1px solid var(--line); font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, 0.72); }
.case__text dd, .case__facts dd { padding: 18px 24px; font-size: 17px; font-weight: 400; line-height: 1.55; color: rgba(255, 255, 255, 0.86); }
@media (max-width: 1023px) { .case { padding: 36px 32px 36px; } }
@media (max-width: 599px) { .case { padding: 28px 20px 24px; border-radius: 16px 0 16px 0; } .case__text div, .case__facts div { grid-template-columns: 1fr; } .case__text dt, .case__facts dt { border-right: 0; padding: 14px 16px 4px; background: none; } .case__text dd, .case__facts dd { padding: 0 16px 14px; } }
/* Fund Structure: the register card is a quiet surface, so the red stays with the Fund in the organisation diagram */
.ent.portal-panel { border: 1px solid transparent; background: var(--surface) padding-box, var(--live) border-box; box-shadow: 0 40px 100px -50px rgba(0, 0, 0, 0.8); }
.tabs--entities .tab.is-active { background: var(--accent-bg) padding-box, var(--base-fill) padding-box, var(--live-gold) border-box; box-shadow: none; }
/* AML: the lead sits under the heading, the measures on the right */
.reg__lead--side { margin: 0; }
/* AML: the stacked cards, each with a line icon at the top */
.stack--ic li { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 24px; }
.measures__ic { color: var(--peach); flex: none; }

/* What the Fund does not do: two standalone leaves that hold their place on the page –
   a heading-size title over a gold rule, live outline, exclusion marks in small Peach leaves */
.limit { gap: 0; padding: 56px 56px 36px; border: 1px solid transparent; border-radius: 80px 0 80px 0; background: var(--surface) padding-box, var(--live) border-box; box-shadow: 0 40px 100px -50px rgba(0, 0, 0, 0.8); }
.limit__title { font-size: var(--h3); line-height: 1.12; letter-spacing: -0.02em; padding-bottom: 28px; margin-bottom: 8px; border-bottom: 1px solid var(--gold); }
.limit .nots li { padding: 18px 0 18px 34px; font-size: 18px; color: rgba(255, 255, 255, 0.9); }
.limit .nots li::before { content: ""; position: absolute; left: 1px; top: 25px; width: 13px; height: 13px; border-radius: 0; background: no-repeat center / 13px 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23FFBE90' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M2 2l8 8M10 2l-8 8'/%3E%3C/svg%3E"); transform: none; }
.limit .nots li::after { content: none; }
@media (max-width: 1023px) { .limit { padding: 40px 32px 24px; border-radius: 56px 0 56px 0; } }
@media (max-width: 599px) { .limit { padding: 30px 22px 16px; border-radius: 40px 0 40px 0; } .limit .nots li { font-size: 16px; padding-left: 30px; } .limit .nots li::before { top: 22px; } }

/* How We Work: the rail runs on the page frame line (the left edge of the margin), continuing the hero frame */
@media (min-width: 1024px) { .steps { --rail: calc(-1 * var(--pad)); } .step__node { left: calc(-1 * var(--pad) - 7px); } .step__head { padding-left: 0; } }

/* -------------------------------------------------------- form states (not in the mockup) */
.form__alert { max-width: 760px; margin: 0; padding: 16px 20px; border-radius: 16px 0 16px 0; background: var(--accent-bg); box-shadow: var(--accent-ring); color: var(--white); font-size: 16px; line-height: 1.5; }
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea { border-color: var(--peach); }
.check.is-invalid .check__box { border-color: var(--peach); box-shadow: 0 0 0 2px rgba(255, 190, 144, 0.35); }
.form .btn.is-busy { opacity: 0.6; pointer-events: none; }
