a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
img { display: block; vertical-align: middle; }
*, *:before, *:after { box-sizing: border-box;  }
html { -webkit-text-size-adjust: 100%; font-size:62.5%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased;scroll-behavior: smooth;}

:root {
    --midnight-blue: #0B2F47;
    --cream: #FAF8F2;
    --system-blue: #258DBA;
    --gold: #DAA520;
}

html { scroll-padding-top: 60px; }

body {
	font-optical-sizing: auto;
	font-family: "Public Sans", sans-serif;
	font-weight: 400;
	background: var(--midnight-blue);
}

.top-navBG {
	background: transparent;
	width: 100%;
	position: fixed;
	z-index: 3;
}

	.scrolled { background: var(--midnight-blue); }

.top-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 90%;
	height: 60px;
	max-width: 1200px;
	margin: 0 auto;
}

	.nav-links {
		display: flex;
		gap: 20px;
		align-items: center;
	}
	
	.nav-link {
		font-weight: 700;
		font-size: 1.6rem;
		text-decoration: none;
		color: var(--cream);
		border: 1px solid transparent;
		border-radius: 20px;
		padding: .5em 1em;
		transition: all .125s;
	}
	
	.nav-link:hover {
		border: 1px solid rgba(255,255,255,.5);
	}
	
	.nav-link-on {
		border: 1px solid var(--gold);
	}
	

.hero {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../img/hero_d_2.jpg) no-repeat;
	background-size: cover;
	background-position: 50%;
	width: 100%;
	max-width: 1440px;
	aspect-ratio: 1440/740;
	left: 50%;
	transform: translate(-50%, 0);
	top: 0;
	z-index: 1;
}

.hero-spacer {
  width: 100%;
  max-width: 1440px;
  aspect-ratio: 1440/740;
  left: 50%;
  transform: translate(-50%, 0);
  margin: 0 auto;
  /* This keeps layout in sync */
}

.hero-text {
	width: 75%;
}

	.hero-text h3 { margin-bottom: 3em; }
	#animArrow {
		width: 60px; transform: rotate(90deg); margin: 0 auto;
	}

.creamBG {
	background: var(--cream);
	width: 100%;
	margin: 0 auto;
}

.blueBG {
	background: var(--midnight-blue);
	width: 100%;
	margin: 0 auto;
}

main {
  position: relative;
  z-index: 2;
}

.text-content {
	display: flex;
	gap: 80px;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
}

	.text-content-left { min-width: 22%;}

.monogram {
	font-style: italic;
	font-size: 1.5rem;
	font-weight: 300;
	display: flex;
	align-items: center;
	flex-direction: column;
	min-width: 165px;
	margin-top: 40%;
}

	.monogram img { margin-bottom: 15px; }
	.monogram-text { text-align: center; }
   	.monogram h4 { margin-bottom: 10px; }

	.pronounce-key { color: var(--midnight-blue); }

.portfolio {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
}

	.portfolio * { color: #fff; }
	.portfolio-text { max-width: 800px; margin-bottom: 40px; }
	
	.portfolio-head { text-align: center; font-size: 2.4rem; margin-bottom: 1.5em; font-weight: 600; }
	
	.portfolio-grid {
		display: flex;
		/* gap: 38px; */
		gap: 30px;
		flex-wrap: wrap;
	}
	
	/* .portfolio-item { width: 270px;  } */
	.portfolio-item { width: calc((100% - 90px) / 4); position: relative;  }
	
	.pi-img {
		background-size: cover;
		aspect-ratio: 255 / 160;
		background-repeat: no-repeat;
		background-position: 50%;
		margin-bottom: 15px;
		border-bottom: 5px solid var(--system-blue);
		position: relative;
	}

	.pi-label { font-size: clamp(1.8rem, 2vw, 2rem); text-align: center; border: none; background: none; padding: 0; width: 100%; font-weight: 600;}
	
	.pi-arrow {
		background: var(--system-blue);
		background-position: 50%;
		border-radius: 8px 8px 0 0;
		position: absolute;
		bottom: 0px; left: 15px;
		width: 40px;
		height: 20px;
		z-index: 3;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.pi-arrow-img {
		width: 16px; /* or set an explicit size */
		transition: transform 0.3s ease;
		display: block;
	}

		.portfolio-item:hover .pi-arrow-img,
		.portfolio-item:focus-within .pi-arrow-img {
		  transform: rotate(180deg);
		}
	
	.portfolio-detail {
		background: rgba(11,47,71,.8);
		color: #fff;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1.2em;
		font-size: clamp(1.2rem, 1vw, 1.6rem);
		line-height: 1.4em;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
		z-index: 2;
	}
	.portfolio-detail[hidden] {
		display: none !important;
	}
	
	.fund-logos {
		display: flex;
		justify-content: space-between;
		width: 70%;
	}

	.fund-logo { width: 40%; display: block; text-decoration: none; font-size: 1.6rem; font-weight: 700; color: var(--system-blue);  }
	.fund-logo span { padding-right: 25px; background: url(../img/link-arrow.svg) no-repeat; background-position: calc(100% - 10px) calc(100% - 3px); background-size: 12px; transition: all .125s }
		.fund-logo:hover span, .fund-logo:focus span { background-position: calc(100%) calc(100% - 3px); }
	.fund-logo img { width: 100%; margin-bottom: 1em; }

	.contactBG {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		background: url(../img/hero_d_2.jpg) no-repeat;
		background-size: cover;
		background-position: 50% 10%;
		width: 100%;
		max-width: 1440px;
		aspect-ratio: 1440/320;
		padding: 60px 0;
		margin: 0 auto;
		text-align: center;
	}

		.contact-head {
			color: #fff;
			font-family: "DM Serif Display", serif;
			font-weight: 400;
			font-size: clamp(2.8rem, 3vw, 3.6rem);
			line-height: 1;
			margin-bottom: .5em;
		}
		
		.contactBG a { font-weight: 700; font-size: 1.8rem; text-decoration: none; color: var(--gold); }
			.contactBG a:hover { text-decoration: underline; }
		.contactBG h4 { color: #fff; }
		
footer {
	background: var(--midnight-blue);
	padding: 30px;
	text-align: center;
	font-size: 1.4rem;
	width: 100%;
	margin: 0 auto;
}

	footer img { margin: 0 auto 20px auto; }
	footer a { text-decoration: none; color: #fff; display: block; margin-bottom: 1em; font-weight: 700; }
	footer a:hover { text-decoration: underline;}

	.copyright { color: #fff; font-size: 1.3rem;}

h1 {
	color: var(--cream);
	font-family: "DM Serif Display", serif;
	font-weight: 400;
	font-size: clamp(4.2rem, 5vw, 6.2rem);
	text-align: center;
	margin-bottom: .4em;
	line-height: 1;
  }
  
h2 {
	color: var(--midnight-blue);
	font-family: "DM Serif Display", serif;
	font-weight: 400;
	font-size: clamp(3.2rem, 5vw, 4.8rem);
	margin-bottom: .4em;
	line-height: 1;
  }
  
h3 {
	color: var(--cream);
	text-align: center;
	font-size: clamp(1.6rem, 3vw, 1.8rem);
	text-align: center;
	line-height: 1.4em;
	font-weight: normal;
}

h4 {
	font-weight: 700;
	color: var(--midnight-blue);
	font-size: 1.6rem;
	margin-bottom: 1em;
	font-style: normal;
}

p {
	font-size: clamp(1.4rem, 2vw, 1.6rem);
	line-height: 1.4em;
	margin-bottom: 1.5em;
	color: var(--midnight-blue);
}

	.text-content p:last-child { margin-bottom: 0;}

.pi-mobile-arrow { display: none; }

.mobile-investments-header { display: none; }

@media (max-width: 950px) {
	.portfolio-item { width: calc((100% - 30px) / 2); }
	.portfolio-detail { font-size: clamp(1.2rem, 2vw, 2.6rem); }
}

@media (max-width: 650px) {
	.hero, .hero-spacer { aspect-ratio: 360 / 400; }

    .text-content { flex-direction: column-reverse; gap: 30px;}
    
    .text-content-dont-reverse { flex-direction: column; gap: 0;}
    
    .monogram { flex-direction: row; gap: 20px; font-size: 1.3rem; margin-top: 0; }
    	.monogram img { width: 60px; margin-bottom: 0;}
    	.monogram-text { text-align: left; }
    	.monogram h4 { margin-bottom: 5px; }

  .portfolio-head { text-align: left; }
  
  .nav-links { display: none; }
	.top-nav { height: 40px;}
	.top-nav img { margin: 0 auto; width: 110px; }
	.hero-text h3 { margin-bottom: 1.5em;}
}
	
	
.portfolio-detail[hidden] {
  display: none !important;
}
	
/* Hover/focus behavior for desktop (>500px) */
@media (min-width: 501px) {
	.portfolio-item:hover .portfolio-detail,
	.portfolio-item:focus-within .portfolio-detail {
		opacity: 1;
		pointer-events: auto;
		display: flex;
		}	  
}

@media (max-width: 500px) {
  .portfolio-item { width: 100%; display: flex; flex-direction: column-reverse; gap: 8px; }
  .pi-img { border-bottom: none; margin-bottom: 0; background: none !important; aspect-ratio: auto; position: static; }
  .pi-label { text-align: left; border-bottom: 1px solid rgba(255,255,255,.3); font-size: 1.8rem; padding-bottom: 6px; display: flex; justify-content: space-between; align-items: center; background: none; position: relative; z-index: 3;}
  .pi-arrow { display: none; }
  .pi-mobile-arrow { display: block; }
  .pi-arrow-img {
    transition: transform 0.3s;
  }
  /* Arrow rotates when section is open */
  .pi-label[aria-expanded="true"] .pi-mobile-arrow .pi-arrow-img {
    transform: rotate(0deg);
  }
  .pi-label[aria-expanded="false"] .pi-mobile-arrow .pi-arrow-img {
    transform: rotate(180deg);
  }

  /* Accordion: only show details when not hidden */
  .portfolio-detail {
    position: relative;
    background: none;
    color: inherit;
    padding: 1em 0;
    font-size: 1.5rem;
    opacity: 1;
    pointer-events: auto;
    display: none; /* Always hidden unless JS removes [hidden] */
  }
  .portfolio-detail:not([hidden]) {
    display: block;
  }
  
  .fund-logos { flex-direction: column; width: 100%; gap: 40px; align-items: center; margin-top: 50px; }
  .fund-logo { width: 60%; }
  
  .mobile-investments-header { 
  	background: url(../img/public-equities-hedge.jpg) no-repeat;
  	background-size: cover;
  	margin: -1em 0 30px 0;
  	aspect-ratio: 410 / 200;
  	background-position: 50%;
  	display: block;
  }
  
}