/* Trajan Asset Holdings — shared styles for legal / content pages */

:root {
	--paper:   #f4f3ed;
	--paper-2: #eeece3;
	--ink:     #1d231f;
	--muted:   #6b736b;
	--line:    rgba(29, 35, 31, 0.14);
	--accent:  #6f9c83;
	--green:   #3E5C50;
	--ease:    cubic-bezier(0.22, 1, 0.36, 1);
	--pad:     clamp(1.4rem, 5vw, 4.5rem);
	--mono:    ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	font-family: "Inter", -apple-system, "Helvetica Neue", Arial, sans-serif;
	background: var(--paper);
	color: var(--ink);
	line-height: 1.65;
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 1px solid var(--accent); outline-offset: 3px; }

.wrap { max-width: 910px; margin: 0 auto; }

.label {
	font-family: var(--mono);
	font-size: .68rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

/* ---------- Header ---------- */
.site-head {
	padding: clamp(1.5rem, 3.5vw, 2.2rem) var(--pad);
}
.head-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
/* white wordmark recolored to Trajan green via mask */
.site-head .logo {
	display: block;
	height: clamp(40px, 5.3vw, 52px);
	aspect-ratio: 1326 / 312;
	background-color: var(--green);
	-webkit-mask: url("../images/trajan.png") center / contain no-repeat;
	        mask: url("../images/trajan.png") center / contain no-repeat;
}
.head-links { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.2rem); }
.head-links a {
	font-family: var(--mono);
	font-size: .68rem; letter-spacing: .22em; text-transform: uppercase;
	text-decoration: none; color: var(--ink);
	padding-bottom: 4px; border-bottom: 1px solid var(--line);
	transition: border-color .35s var(--ease);
}
.head-links a:hover { border-color: var(--accent); }

.green-bar { height: 22px; background: var(--green); }

/* ---------- Document ---------- */
.doc { padding: clamp(2rem, 5vw, 3.5rem) var(--pad) clamp(2.5rem, 6vw, 4rem); }
.doc__eyebrow { color: var(--accent); margin-bottom: 1rem; }
.doc h1 {
	font-weight: 300;
	font-size: clamp(1.9rem, 4.5vw, 2.8rem);
	line-height: 1.08;
	letter-spacing: -0.015em;
	margin-bottom: .5rem;
}
.doc__updated { font-family: var(--mono); font-size: .74rem; color: var(--muted); letter-spacing: .03em; }
.doc__intro {
	font-size: clamp(1.02rem, 1.5vw, 1.14rem);
	line-height: 1.55;
	margin: clamp(1.2rem, 3vw, 1.8rem) 0 clamp(1.4rem, 3vw, 2rem);
	padding-bottom: clamp(1.4rem, 3vw, 2rem);
	border-bottom: 1px solid var(--line);
}

.doc h2 {
	font-weight: 400;
	font-size: 1.12rem;
	letter-spacing: -0.005em;
	margin: clamp(1.4rem, 3vw, 1.9rem) 0 .45rem;
	display: flex;
	gap: .9rem;
	align-items: baseline;
}
.doc h2 .num {
	font-family: var(--mono);
	font-size: .72rem; font-weight: 400; letter-spacing: .05em;
	color: var(--accent);
	flex: none;
	transform: translateY(-1px);
}
.doc h3 {
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: -0.005em;
	margin: 1.3rem 0 .4rem;
	display: flex; gap: .7rem; align-items: baseline;
}
.doc h3 .subnum { font-family: var(--mono); font-size: .7rem; font-weight: 400; color: var(--accent); flex: none; }
.doc__rule { border: 0; border-top: 1px solid var(--line); margin: clamp(1.4rem, 3vw, 2rem) 0; }
.doc__note { margin-top: clamp(2rem, 4vw, 3rem); padding-top: 1.2rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .88rem; font-style: italic; }
.doc p, .doc li {
	font-size: .96rem;
	line-height: 1.55;
	color: #34403a;
	font-weight: 300;
	text-align: justify;
	-webkit-hyphens: auto;
	        hyphens: auto;
}
.doc p + p { margin-top: .6rem; }
.doc ul { margin: .6rem 0 0; padding-left: 0; list-style: none; }
.doc ul li { position: relative; padding-left: 1.4rem; margin-bottom: .4rem; }
.doc ul li::before {
	content: ""; position: absolute; left: 0; top: .62em;
	width: 6px; height: 6px; background: var(--accent); border-radius: 50%;
}
.doc a:not(.contact) { color: var(--green); text-decoration: none; border-bottom: 1px solid var(--line); transition: border-color .3s var(--ease); }
.doc a:not(.contact):hover { border-color: var(--green); }
.doc strong { font-weight: 500; color: var(--ink); }
.doc address { font-style: normal; line-height: 1.7; margin-top: .7rem; }

/* ---------- Footer ---------- */
.footer {
	border-top: 1px solid var(--line);
	padding: clamp(3rem, 6vw, 4.5rem) var(--pad);
	background: var(--paper-2);
}
.footer__grid {
	max-width: 1180px; margin: 0 auto;
	display: flex; flex-wrap: wrap; gap: 2.2rem 4rem;
	align-items: flex-start; justify-content: space-between;
}
.footer__logo {
	display: block;
	height: 38px;
	aspect-ratio: 1326 / 312;
	margin-bottom: 1.5rem;
	background-color: var(--green);
	-webkit-mask: url("../images/trajan.png") left center / contain no-repeat;
	        mask: url("../images/trajan.png") left center / contain no-repeat;
}
.footer__contact a { text-decoration: none; border-bottom: 1px solid var(--line); transition: border-color .35s var(--ease); font-weight: 400; }
.footer__contact a:hover { border-color: var(--accent); }
.footer__meta {
	font-family: var(--mono); font-size: .72rem; line-height: 2; letter-spacing: .04em;
	color: var(--muted); text-align: right;
}
.footer__bottom {
	max-width: 1180px; margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline;
	gap: .6rem 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line);
	font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; color: var(--muted);
}
.footer__bottom .name { color: var(--ink); }
.footer__bottom .sep { opacity: .45; margin: 0 .35em; }
.footer__bottom a { text-decoration: none; border-bottom: 1px solid var(--line); transition: border-color .35s var(--ease); }
.footer__bottom a:hover { border-color: var(--accent); }
.footer__bottom a[aria-current="page"] { color: var(--ink); border-color: var(--accent); }

@media (max-width: 560px) {
	.footer__grid { flex-direction: column; }
	.footer__meta { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .001ms !important; }
	html { scroll-behavior: auto; }
}
