/* =============================================================
   SA HEDGE FUND — RESEARCH LIBRARY STYLESHEET (research.css)
   ============================================================= */


/* =============================================================
   WRAPPER
   ============================================================= */

.rh-wrap{
	max-width:var(--layout-container);
	width:min(
		var(--layout-container),
		calc(100% - (var(--gutter) * 2))
	);
	margin-inline:auto;
	padding-inline:0;
}


/* =============================================================
   BUTTONS
   ============================================================= */

.rh-btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	min-height:48px;
	padding:0 26px;
	font-size:0.86rem;
	letter-spacing:0.02em;
	transition:all .25s ease;
	border:1px solid transparent;
	cursor:pointer;
	font-family:inherit;
}

.rh-btn-primary{
	background:var(--gold);
	color:var(--navy-deep);
	font-weight:500;
}

.rh-btn-primary:hover{
	background:#dcb769;
}

.rh-btn-line{
	border-bottom:1px solid var(--gold-dim);
	padding:0 0 4px;
	color:var(--on-navy);
}

.rh-btn-line:hover{
	border-color:var(--gold);
	color:var(--gold);
}

.rh-btn:hover .rh-arrow{
	transform:translateX(3px);
}

.rh-arrow{
	transition:transform .25s ease;
}

.rh-btn-dark-primary{
	background:var(--navy);
	color:var(--cream);
}

.rh-btn-dark-primary:hover{
	background:var(--navy-deep);
}

.rh-btn-dark-line{
	border-bottom:1px solid rgba(11,31,51,0.3);
	color:var(--on-cream);
}

.rh-btn-dark-line:hover{
	border-color:var(--navy);
	color:var(--navy);
}


/* =============================================================
   SHARED EDITORIAL PRIMITIVES
   ============================================================= */

.rh-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:0.74rem;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--gold);
	margin-bottom:24px;
}

.rh-eyebrow::before{
	content:'';
	width:24px;
	height:1px;
	background:var(--gold);
}

.rh-eyebrow.rh-on-light{
	color:var(--gold-dark);
}

.rh-eyebrow.rh-on-light::before{
	background:var(--gold-dark);
}

.rh-section-head{
	max-width:640px;
	margin:clamp(48px,7vw,72px) 0 clamp(40px,6vw,64px);
}

.rh-section-head.rh-tight{
	margin-top:0;
}

.rh-section-head h2{
	font-size:clamp(1.6rem,3.4vw,2.2rem);
	line-height:1.28;
}

.rh-section-head p{
	margin-top:16px;
	color:var(--on-navy-mute);
	font-size:1rem;
	line-height:1.7;
	max-width:52ch;
}

.rh-section-head.rh-on-light p{
	color:var(--on-cream-mute);
}

.rh-coord{
	font-size:0.68rem;
	letter-spacing:0.06em;
	color:var(--gold-dark);
	opacity:0.65;
}

.rh-tag{
	font-size:0.72rem;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--gold-dark);
}

.rh-meta-row{
	display:flex;
	flex-wrap:wrap;
	gap:8px 12px;
	font-size:0.82rem;
	color:var(--on-cream-mute);
	align-items:center;
}

.rh-meta-row.rh-on-navy{
	color:var(--on-navy-mute);
}

.rh-meta-row .rh-dot{
	opacity:0.45;
}


/* =============================================================
   RESEARCH HERO
   ============================================================= */

.rh-hero{
	background:var(--cream);
	color:var(--on-cream);
	padding:clamp(64px,11vw,110px) 0 clamp(48px,7vw,72px);
	border-bottom:1px solid rgba(11,31,51,0.1);
}

.rh-hero .rh-wrap{
	max-width:800px;
}

.rh-hero h1{
	font-size:clamp(2rem,4.6vw,3rem);
	line-height:1.22;
	letter-spacing:-0.01em;
}

.rh-hero p{
	margin-top:22px;
	font-size:clamp(1rem,1.5vw,1.1rem);
	line-height:1.75;
	color:var(--on-cream-mute);
	max-width:56ch;
}


/* =============================================================
   FEATURED RESEARCH BAND
   ============================================================= */

.rh-featured-band{
	background:var(--navy);
	padding:clamp(72px,11vw,130px) 0;
	border-bottom:1px solid rgba(201,162,77,0.18);
}


/* =============================================================
   FEATURED RESEARCH CARD
   ============================================================= */

.rh-r-featured{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(24px,4vw,48px);
	align-items:center;

	background:#fff;
	color:var(--on-cream);

	border:1px solid rgba(11,31,51,0.1);

	padding:clamp(32px,5vw,52px);

	position:relative;

	margin-bottom:clamp(32px,5vw,44px);

	text-decoration:none;
}


/*
|--------------------------------------------------------------------------
| Explicit text colors
|--------------------------------------------------------------------------
|
| These are important because the featured card is an <a> element.
| We do not want global anchor styles to make the title/excerpt
| disappear against the white card.
|
*/

.rh-r-featured,
.rh-r-featured:visited{
	color:var(--on-cream);
}

.rh-r-featured:hover{
	color:var(--on-cream);
	background:#fbfaf8;
}

.rh-r-featured .rh-coord{
	position:absolute;
	top:20px;
	right:22px;
}

.rh-r-featured .rh-tag{
	display:block;
	margin-bottom:16px;
	color:var(--gold-dark);
}

.rh-r-featured h3{
	font-family:'Playfair Display',serif;
	font-weight:600;
	font-size:clamp(1.4rem,2.6vw,1.85rem);
	line-height:1.3;

	color:var(--on-cream);

	margin:0;
}

.rh-r-featured p{
	font-size:0.98rem;
	line-height:1.75;

	color:var(--on-cream-mute);

	margin-top:16px;
}

.rh-r-featured .rh-meta-row{
	color:var(--on-cream-mute);
}

.rh-r-featured .rh-read{
	margin-top:20px;

	font-size:0.85rem;
	font-weight:500;

	display:inline-flex;
	gap:8px;
	align-items:center;

	color:var(--navy);

	border-bottom:1px solid rgba(11,31,51,0.25);

	padding-bottom:2px;

	width:fit-content;
}

.rh-r-featured .rh-read:hover{
	color:var(--navy);
}


/* =============================================================
   RESEARCH BROWSE
   ============================================================= */

.rh-browse{
	background:var(--neutral);
	color:var(--on-cream);
	padding:clamp(72px,11vw,130px) 0;
}


/* =============================================================
   RESEARCH CARD GRID
   ============================================================= */

.rh-research-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
	gap:1px;
	background:rgba(11,31,51,0.1);
	border:1px solid rgba(11,31,51,0.1);
}

.rh-r-card{
	background:#fff;
	padding:clamp(28px,4vw,34px) clamp(24px,3vw,30px);

	display:flex;
	flex-direction:column;

	position:relative;

	transition:background .25s ease;
}

.rh-r-card:hover{
	background:#fbfaf8;
}

.rh-r-card .rh-coord{
	position:absolute;
	top:18px;
	right:20px;
}

.rh-r-card .rh-tag{
	display:block;
	margin-bottom:16px;
}

.rh-r-card h3{
	font-family:'Playfair Display',serif;
	font-weight:600;
	font-size:1.18rem;
	line-height:1.35;

	margin-bottom:14px;
	padding-right:36px;

	color:var(--on-cream);
}

.rh-r-card p{
	font-size:0.9rem;
	line-height:1.65;

	color:var(--on-cream-mute);

	flex:1;
}

.rh-r-card .rh-read{
	margin-top:20px;

	font-size:0.8rem;
	letter-spacing:0.03em;
	font-weight:500;

	display:inline-flex;
	gap:8px;
	align-items:center;

	color:var(--navy);

	border-bottom:1px solid rgba(11,31,51,0.25);

	padding-bottom:2px;

	width:fit-content;
}


/* =============================================================
   LATEST LABEL
   ============================================================= */

.rh-latest-label{
	display:block;
	font-size:0.74rem;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--gold-dark);
	margin-bottom:16px;
}


/* =============================================================
   FILTER BAR
   ============================================================= */

.rh-filter-bar{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;

	gap:20px;

	padding-bottom:clamp(28px,4vw,36px);
	margin-bottom:clamp(28px,4vw,36px);

	border-bottom:1px solid rgba(11,31,51,0.14);
}

.rh-topic-list{
	display:flex;
	flex-wrap:wrap;
	gap:clamp(16px,2.5vw,28px);
}

.rh-topic-list button{
	background:none;
	border:none;

	padding:6px 0;

	font-family:inherit;
	font-size:0.85rem;
	letter-spacing:0.02em;

	color:var(--on-cream-mute);

	cursor:pointer;

	border-bottom:1px solid transparent;

	transition:
		color .2s ease,
		border-color .2s ease;
}

.rh-topic-list button:hover{
	color:var(--on-cream);
}

.rh-topic-list button.rh-active{
	color:var(--gold-dark);
	border-bottom-color:var(--gold-dark);
	font-weight:500;
}


/* =============================================================
   SEARCH
   ============================================================= */

.rh-search-field{
	position:relative;
}

.rh-search-field input{
	font-family:inherit;
	font-size:0.85rem;

	padding:10px 14px 10px 34px;

	border:1px solid rgba(11,31,51,0.18);

	background:#fff;

	min-width:220px;

	color:var(--on-cream);

	outline:none;
}

.rh-search-field input:focus{
	border-color:var(--gold-dark);
}

.rh-search-field::before{
	content:'⌕';

	position:absolute;

	left:12px;
	top:50%;

	transform:translateY(-52%);

	color:var(--on-cream-mute);

	font-size:0.95rem;

	pointer-events:none;
}


/* =============================================================
   NO RESULTS
   ============================================================= */

.rh-no-results{
	display:none;

	padding:32px 0;

	color:var(--on-cream-mute);

	font-size:0.92rem;
}

.rh-no-results.rh-show{
	display:block;
}


/* =============================================================
   RESEARCH ARCHIVE
   ============================================================= */

.rh-archive{
	background:var(--cream);
	color:var(--on-cream);

	padding:clamp(72px,11vw,130px) 0;
}

.rh-archive-year{
	font-family:'Playfair Display',serif;
	font-style:italic;

	font-size:1.3rem;

	color:var(--gold-dark);

	margin:clamp(40px,5vw,56px) 0 4px;
}

.rh-archive-year:first-of-type{
	margin-top:clamp(8px,2vw,16px);
}

.rh-archive-list{
	border-top:1px solid rgba(11,31,51,0.14);
}

.rh-archive-row{
	display:grid;

	grid-template-columns:70px minmax(0,1fr) auto;

	gap:20px;

	align-items:baseline;

	padding:16px 0;

	border-bottom:1px solid rgba(11,31,51,0.12);

	text-decoration:none;

	color:var(--on-cream);

	transition:color .2s ease;
}

.rh-archive-row:hover{
	color:var(--on-cream);
}

.rh-archive-row:hover .rh-archive-title{
	color:var(--gold-dark);
}

.rh-archive-row .rh-coord{
	font-family:'Playfair Display',serif;
	font-style:italic;
}

.rh-archive-title{
	font-size:0.98rem;
	transition:color .2s ease;
}

.rh-archive-date{
	font-size:0.78rem;
	color:var(--on-cream-mute);
	white-space:nowrap;
}


/* =============================================================
   MOTION
   ============================================================= */

/*
   Motion remains controlled by the existing sitewide .reveal
   / .in JavaScript behaviour.
*/


/* =============================================================
   RESPONSIVE
   ============================================================= */

@media (max-width:860px){

	.nav-links{
		display:none;
	}

	.nav-burger{
		display:flex;
	}

}


@media (max-width:640px){

	.rh-r-featured{
		grid-template-columns:1fr;
	}

	.rh-archive-row{
		grid-template-columns:44px minmax(0,1fr);
	}

	.rh-archive-date{
		grid-column:2;
	}

}


@media (max-width:480px){

	.rh-filter-bar{
		flex-direction:column;
		align-items:stretch;
	}

	.rh-search-field input{
		width:100%;
	}

}