:root {
	--pht-ink: #18221f;
	--pht-muted: #58645f;
	--pht-paper: #f6f3ec;
	--pht-surface: #fffdf8;
	--pht-line: #d8ddd8;
	--pht-accent: #315f58;
	--pht-accent-strong: #214943;
	--pht-soft: #e5ece8;
	--pht-focus: #bd5b3d;
	--pht-serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--pht-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--pht-radius-sm: 0.6rem;
	--pht-radius: 1.1rem;
	--pht-radius-lg: 2rem;
	--pht-shadow: 0 24px 60px rgb(18 31 27 / 0.09);
	--pht-shell: min(1180px, calc(100vw - 2.5rem));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--pht-paper);
	color: var(--pht-ink);
	font-family: var(--pht-sans);
	font-size: clamp(1rem, 0.97rem + 0.12vw, 1.075rem);
	line-height: 1.65;
	text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--pht-accent); text-underline-offset: 0.18em; }
a:hover { color: var(--pht-accent-strong); }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 {
	margin: 0 0 0.65em;
	font-family: var(--pht-serif);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.08;
}
h1 { font-size: clamp(2.75rem, 8vw, 6.2rem); }
h2 { font-size: clamp(2rem, 5vw, 3.8rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2.35rem); }
h4 { font-size: 1.2rem; }
p { margin: 0 0 1.25rem; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.pht-skip-link {
	position: fixed;
	left: 1rem;
	top: -5rem;
	z-index: 1000;
	background: var(--pht-ink);
	color: #fff;
	padding: 0.75rem 1rem;
	border-radius: 0.4rem;
}
.pht-skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--pht-focus); outline-offset: 3px; }

.pht-shell { width: var(--pht-shell); margin-inline: auto; }
.pht-main { min-height: 60vh; }
.pht-site-header {
	position: relative;
	z-index: 30;
	border-bottom: 1px solid rgb(24 34 31 / 0.1);
	background: rgb(246 243 236 / 0.92);
	backdrop-filter: blur(18px);
}
.pht-header-inner {
	display: flex;
	min-height: 5.75rem;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.pht-brand {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 0.8rem;
	color: var(--pht-ink);
	text-decoration: none;
}
.pht-mark { width: 2.5rem; height: 2.5rem; fill: none; stroke: currentColor; stroke-width: 1.35; }
.pht-brand-copy { display: grid; min-width: 0; line-height: 1.1; }
.pht-brand-copy strong { font-family: var(--pht-serif); font-size: 1.35rem; font-weight: 600; }
.pht-brand-copy small { max-width: 15rem; margin-top: 0.25rem; color: var(--pht-muted); font-size: 0.68rem; letter-spacing: 0.07em; text-transform: uppercase; }
.pht-menu, .pht-footer-menu { display: flex; align-items: center; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.pht-menu a { color: var(--pht-ink); font-size: 0.88rem; font-weight: 650; text-decoration: none; }
.pht-menu a:hover, .pht-menu .current-menu-item > a { color: var(--pht-accent); }
.pht-menu-toggle {
	display: none;
	flex: 0 0 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	border: 1px solid var(--pht-line);
	border-radius: 50%;
	background: transparent;
	color: var(--pht-ink);
}
.pht-menu-toggle-lines, .pht-menu-toggle-lines::before, .pht-menu-toggle-lines::after {
	display: block;
	width: 1.1rem;
	height: 1px;
	background: currentColor;
	content: "";
}
.pht-menu-toggle-lines::before { transform: translateY(-5px); }
.pht-menu-toggle-lines::after { transform: translateY(4px); }

.pht-page-intro { padding: clamp(4rem, 9vw, 8rem) 0 clamp(2.5rem, 6vw, 5rem); }
.pht-page-intro h1 { max-width: 14ch; }
.pht-eyebrow, .pht-card-kind, .pht-direction-kicker {
	margin-bottom: 1rem;
	color: var(--pht-accent);
	font-size: 0.74rem;
	font-weight: 760;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.pht-reading-shell { max-width: 820px; padding-bottom: 7rem; }
.pht-listing-shell { padding-bottom: 7rem; }
.pht-prose { font-family: var(--pht-serif); font-size: clamp(1.1rem, 1.02rem + 0.35vw, 1.3rem); }
.pht-prose > * { max-width: 70ch; }
.pht-prose > .alignwide { width: min(1000px, 90vw); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.pht-prose h2, .pht-prose h3 { margin-top: 2.2em; }
.pht-prose blockquote { margin: 2.5rem 0; padding: 0 0 0 1.5rem; border-left: 3px solid var(--pht-accent); color: var(--pht-muted); }
.pht-prose img { border-radius: var(--pht-radius); }
.pht-featured-media { margin: 0 0 3rem; overflow: hidden; border-radius: var(--pht-radius-lg); }
.pht-post-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 5rem; padding-top: 2rem; border-top: 1px solid var(--pht-line); }
.pht-post-navigation a:last-child { text-align: right; }

.pht-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.pht-card { overflow: hidden; border: 1px solid var(--pht-line); border-radius: var(--pht-radius); background: var(--pht-surface); }
.pht-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pht-soft); }
.pht-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.pht-card:hover .pht-card-media img { transform: scale(1.025); }
.pht-card-body { padding: 1.5rem; }
.pht-card h2 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.pht-card h2 a { color: var(--pht-ink); text-decoration: none; }
.pht-card-excerpt { color: var(--pht-muted); font-size: 0.92rem; }
.pht-text-link { font-size: 0.86rem; font-weight: 750; text-decoration: none; }
.pht-empty-state { max-width: 700px; padding: clamp(5rem, 12vw, 10rem) 0; }
.pht-button {
	display: inline-flex;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--pht-accent);
	border-radius: 999px;
	background: var(--pht-accent);
	color: #fff;
	font-weight: 720;
	text-decoration: none;
}
.pht-button:hover { background: var(--pht-accent-strong); color: #fff; }
.pht-button:disabled { cursor: not-allowed; opacity: 0.55; }

.pht-site-footer { padding: 4.5rem 0 2rem; border-top: 1px solid var(--pht-line); background: var(--pht-ink); color: #edf2ef; }
.pht-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 4rem; }
.pht-footer-brand { display: flex; align-items: center; gap: 0.75rem; font-family: var(--pht-serif); font-size: 1.4rem; }
.pht-footer-brand .pht-mark { width: 2rem; height: 2rem; }
.pht-footer-note { max-width: 35rem; margin-top: 1rem; color: #aebbb6; font-size: 0.88rem; }
.pht-footer-menu { justify-content: flex-end; flex-wrap: wrap; }
.pht-footer-menu a { color: #edf2ef; font-size: 0.86rem; text-decoration: none; }
.pht-footer-meta { display: flex; justify-content: space-between; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 0.12); color: #93a39d; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }

/* Style Lab */
.pht-style-lab { overflow: hidden; }
.pht-lab-intro { padding: clamp(5rem, 11vw, 10rem) 0 5rem; }
.pht-lab-intro h1 { max-width: 10ch; }
.pht-lab-lead { max-width: 58rem; color: var(--pht-muted); font-family: var(--pht-serif); font-size: clamp(1.2rem, 2vw, 1.6rem); }
.pht-lab-jump { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.5rem; }
.pht-lab-jump a { padding: 0.65rem 1rem; border: 1px solid var(--pht-line); border-radius: 999px; color: var(--pht-ink); font-size: 0.8rem; font-weight: 700; text-decoration: none; }
.pht-direction { padding: clamp(4rem, 9vw, 8rem) 0; background: var(--direction-page); color: var(--direction-ink); }
.pht-direction--calm {
	--direction-page: #dfe8e5;
	--direction-surface: #f7faf8;
	--direction-ink: #18312c;
	--direction-muted: #587069;
	--direction-accent: #28695e;
	--direction-accent-2: #a9c6bd;
	--direction-serif: "Iowan Old Style", Georgia, serif;
}
.pht-direction--warm {
	--direction-page: #eee3d2;
	--direction-surface: #fffaf1;
	--direction-ink: #3c382c;
	--direction-muted: #716b58;
	--direction-accent: #6a7450;
	--direction-accent-2: #c86e4b;
	--direction-serif: "Palatino Linotype", Palatino, Georgia, serif;
}
.pht-direction--editorial {
	--direction-page: #d9d7ff;
	--direction-surface: #fffef9;
	--direction-ink: #14131d;
	--direction-muted: #5f5c6e;
	--direction-accent: #2c36c8;
	--direction-accent-2: #ff6a3d;
	--direction-serif: Georgia, "Times New Roman", serif;
}
.pht-direction-heading { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.5rem; align-items: start; margin-bottom: 2.5rem; }
.pht-direction-heading > span { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.14em; }
.pht-direction-heading h2 { margin-bottom: 0.35rem; font-family: var(--direction-serif); }
.pht-direction-heading p { max-width: 50rem; color: var(--direction-muted); }
.pht-mock-browser { overflow: hidden; border: 1px solid rgb(20 25 23 / 0.15); border-radius: 1.5rem; background: var(--direction-surface); box-shadow: 0 30px 80px rgb(25 28 27 / 0.14); }
.pht-mock-toolbar { display: flex; height: 2.5rem; align-items: center; gap: 0.4rem; padding: 0 1rem; border-bottom: 1px solid rgb(20 25 23 / 0.1); color: var(--direction-muted); font-size: 0.65rem; }
.pht-mock-toolbar i { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--direction-accent-2); opacity: 0.65; }
.pht-mock-toolbar span { margin-left: 0.5rem; }
.pht-mock-sitebar { display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: center; min-height: 5rem; padding: 1rem 2.5rem; border-bottom: 1px solid rgb(20 25 23 / 0.1); }
.pht-mock-brand { display: grid; line-height: 1; }
.pht-mock-brand b { font-family: var(--direction-serif); font-size: 1.35rem; }
.pht-mock-brand small { margin-top: 0.3rem; color: var(--direction-muted); font-size: 0.55rem; letter-spacing: 0.08em; text-transform: uppercase; }
.pht-mock-nav, .pht-language-specimen { display: flex; gap: 1.25rem; align-items: center; font-size: 0.72rem; font-weight: 700; }
.pht-language-specimen { gap: 0.6rem; }
.pht-language-specimen span { color: var(--direction-muted); }
.pht-mock-hero { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; min-height: 36rem; padding: clamp(3rem, 7vw, 6.5rem); }
.pht-direction-kicker { color: var(--direction-accent); }
.pht-mock-hero h3 { max-width: 12ch; margin-bottom: 0.55em; color: var(--direction-ink); font-family: var(--direction-serif); font-size: clamp(2.4rem, 6vw, 5.6rem); }
.pht-mock-hero > div > p:not(.pht-direction-kicker) { max-width: 42rem; color: var(--direction-muted); font-size: clamp(1rem, 1.6vw, 1.22rem); }
.pht-direction-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.pht-direction-actions a { padding: 0.8rem 1.15rem; border: 1px solid var(--direction-accent); border-radius: 999px; background: var(--direction-accent); color: #fff; font-size: 0.8rem; font-weight: 750; text-decoration: none; }
.pht-direction-actions a + a { background: transparent; color: var(--direction-ink); }
.pht-mock-portrait { position: relative; display: grid; aspect-ratio: 4 / 5; place-items: end center; overflow: hidden; border-radius: 48% 48% 1.2rem 1.2rem; background: var(--direction-accent-2); }
.pht-mock-portrait::before { position: absolute; inset: 18% 22% 0; border-radius: 48% 48% 0 0; background: rgb(255 255 255 / 0.42); content: ""; }
.pht-mock-portrait span { position: absolute; top: 14%; width: 22%; aspect-ratio: 1; border: 2px solid rgb(255 255 255 / 0.75); border-radius: 50%; }
.pht-mock-portrait small { z-index: 1; width: 100%; padding: 1rem; background: rgb(20 25 23 / 0.65); color: #fff; text-align: center; }
.pht-mock-principles { padding: 0 clamp(2rem, 6vw, 6.5rem) clamp(3rem, 7vw, 6.5rem); }
.pht-mock-principles > p { color: var(--direction-accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.pht-mock-card-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgb(20 25 23 / 0.15); border-left: 1px solid rgb(20 25 23 / 0.15); }
.pht-mock-card-row article { min-height: 12rem; padding: 1.5rem; border-right: 1px solid rgb(20 25 23 / 0.15); border-bottom: 1px solid rgb(20 25 23 / 0.15); }
.pht-mock-card-row span { color: var(--direction-accent); font-size: 0.7rem; font-weight: 800; }
.pht-mock-card-row h4 { margin-top: 2rem; font-family: var(--direction-serif); }
.pht-mock-card-row p { color: var(--direction-muted); font-size: 0.82rem; }

.pht-form-specimen { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: clamp(2rem, 7vw, 7rem); padding: clamp(5rem, 11vw, 10rem) 0; }
.pht-form-specimen > div > p:last-child { color: var(--pht-muted); }
.pht-form { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--pht-line); border-radius: var(--pht-radius-lg); background: var(--pht-surface); box-shadow: var(--pht-shadow); }
.pht-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pht-form label { display: grid; gap: 0.4rem; margin-bottom: 1rem; color: var(--pht-muted); font-size: 0.8rem; font-weight: 700; }
.pht-form input, .pht-form select, .pht-form textarea { width: 100%; border: 1px solid var(--pht-line); border-radius: 0.65rem; background: #f4f4f0; color: var(--pht-ink); padding: 0.8rem; }

.nav-links { display: flex; justify-content: center; gap: 0.5rem; margin-top: 3rem; }
.nav-links a, .nav-links span { min-width: 2.5rem; padding: 0.5rem; border: 1px solid var(--pht-line); border-radius: 999px; text-align: center; text-decoration: none; }

@media (max-width: 959px) {
	.pht-menu-toggle { display: grid; }
	.pht-primary-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 1rem 1.25rem 1.5rem; border-bottom: 1px solid var(--pht-line); background: var(--pht-paper); }
	.pht-primary-nav[data-open] { display: block; }
	.pht-menu { align-items: stretch; flex-direction: column; gap: 0; }
	.pht-menu a { display: block; padding: 0.85rem 0; border-bottom: 1px solid var(--pht-line); }
	.pht-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pht-mock-sitebar { grid-template-columns: 1fr auto; padding-inline: 1.5rem; }
	.pht-mock-nav { display: none; }
	.pht-mock-hero { grid-template-columns: 1fr; }
	.pht-mock-portrait { width: min(24rem, 80%); justify-self: center; }
	.pht-form-specimen { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	:root { --pht-shell: min(100% - 1.5rem, 1180px); }
	.pht-header-inner { min-height: 4.75rem; }
	.pht-brand-copy small { display: none; }
	.pht-brand-copy strong { max-width: 14rem; overflow: hidden; font-size: 1.1rem; text-overflow: ellipsis; white-space: nowrap; }
	.pht-card-grid, .pht-form-grid { grid-template-columns: 1fr; }
	.pht-footer-grid { grid-template-columns: 1fr; gap: 2rem; }
	.pht-footer-menu { justify-content: flex-start; }
	.pht-footer-meta { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
	.pht-direction-heading { grid-template-columns: 2rem 1fr; }
	.pht-mock-browser { border-radius: 0.9rem; }
	.pht-mock-sitebar { padding: 0.8rem 1rem; }
	.pht-language-specimen { font-size: 0.62rem; }
	.pht-mock-hero { min-height: 0; padding: 2.25rem 1.25rem 3rem; }
	.pht-mock-hero h3 { font-size: clamp(2.3rem, 13vw, 4rem); }
	.pht-mock-principles { padding: 0 1.25rem 2rem; }
	.pht-mock-card-row { grid-template-columns: 1fr; }
	.pht-mock-card-row article { min-height: 0; }
	.pht-mock-portrait { width: 80%; }
	.pht-post-navigation { grid-template-columns: 1fr; }
	.pht-post-navigation a:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
	.pht-site-header, .pht-site-footer, .pht-lab-jump, .pht-direction-actions { display: none !important; }
	body { background: #fff; color: #000; }
	.pht-direction { break-after: page; background: #fff; color: #000; }
}

/* T-005B: approved forest/neutral editorial system.  The abstract hero and
 * portrait panel are deliberately local, review-safe replacement states. */
:root { --pht-forest:#13251f; --pht-forest-deep:#0c1d17; --pht-cream:#f5f1e9; --pht-warm:#edeae3; --pht-sand:#e8d4b5; --pht-rule:#bec3ba; --pht-copy:#536158; --pht-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; --pht-serif:"Iowan Old Style","Palatino Linotype",Georgia,serif; --pht-shell:min(1240px,calc(100vw - 3rem)); }
body { background:var(--pht-warm); color:var(--pht-forest); }
.pht-site-header { border-color:rgb(19 37 31 / .14); background:rgb(237 234 227 / .93); }
.pht-header-inner { min-height:5.25rem; gap:1.25rem; }
.pht-brand-copy strong { font-family:var(--pht-serif); letter-spacing:.15em; }
.pht-menu { gap:1.35rem; }.pht-menu a { font-size:.74rem; font-weight:600; letter-spacing:.055em; }
.pht-language-switcher { display:flex; align-items:center; gap:.5rem; color:#718077; font:500 .68rem/1 var(--pht-mono); letter-spacing:.08em; }
.pht-language-switcher span,.pht-language-switcher a { color:inherit; text-decoration:none; }.pht-language-switcher [aria-current="true"] { color:var(--pht-forest); font-weight:800; }
.pht-header-cta { border:1px solid currentColor; color:var(--pht-forest); font-size:.68rem; font-weight:700; letter-spacing:.14em; padding:.8rem 1rem; text-decoration:none; text-transform:uppercase; white-space:nowrap; }.pht-header-cta:hover { background:var(--pht-forest); color:var(--pht-cream); }
.pht-hero { position:relative; min-height:min(100svh,920px); overflow:hidden; background:var(--pht-forest); color:var(--pht-cream); isolation:isolate; }
.pht-hero::before { position:absolute; z-index:-2; inset:0; background:radial-gradient(circle at 83% 31%,rgb(232 212 181 / .23),transparent 0 20%),linear-gradient(108deg,rgb(8 28 20 / .96) 0%,rgb(19 37 31 / .84) 48%,rgb(32 57 45 / .42)); content:""; }.pht-hero::after { position:absolute; z-index:-1; right:-11vw; bottom:-11vw; width:min(65vw,760px); aspect-ratio:1; border:1px solid rgb(245 241 233 / .25); border-radius:50%; box-shadow:0 0 0 5rem rgb(245 241 233 / .035),0 0 0 13rem rgb(245 241 233 / .025); content:""; }
.pht-hero-media { position:absolute; inset:0; overflow:hidden; opacity:.22; }.pht-hero-media span { position:absolute; top:44%; right:-5%; color:rgb(245 241 233 / .12); font-family:var(--pht-serif); font-size:clamp(20rem,48vw,48rem); letter-spacing:-.12em; line-height:.6; }
.pht-hero-content { display:flex; min-height:min(100svh,920px); flex-direction:column; justify-content:flex-end; padding-top:10rem; padding-bottom:clamp(3rem,8vw,6rem); }.pht-hero-kicker,.pht-eyebrow,.pht-section-number { color:#768078; font:600 .7rem/1.35 var(--pht-sans); letter-spacing:.18em; text-transform:uppercase; }.pht-hero-kicker { color:#e9d9bd; }
.pht-hero-word { margin:.35rem 0 1.5rem; color:var(--pht-cream); font-family:var(--pht-serif); font-size:clamp(8rem,25vw,18rem); letter-spacing:-.1em; line-height:.62; }.pht-hero h1 { max-width:15ch; margin-bottom:1.2rem; color:#fff; font-size:clamp(2.8rem,6.5vw,6.3rem); line-height:.96; }.pht-hero h1+p { max-width:40rem; color:rgb(245 241 233 / .83); font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.65; }.pht-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; margin-top:1.3rem; }.pht-hero .pht-button { border-color:var(--pht-sand); border-radius:0; background:var(--pht-sand); color:var(--pht-forest); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }.pht-hero .pht-button:hover { background:#fff; color:var(--pht-forest); }.pht-quiet-link { color:var(--pht-cream); font-size:.9rem; font-weight:600; text-decoration:none; }.pht-quiet-link:hover { color:var(--pht-sand); }
.pht-section { padding-block:clamp(4.5rem,10vw,9rem); }.pht-split-section { display:grid; grid-template-columns:minmax(0,.77fr) minmax(0,1.42fr); gap:clamp(3rem,10vw,9rem); padding-block:clamp(5rem,10vw,10rem); }.pht-split-section h2,.pht-section-heading h2 { max-width:12ch; margin-top:1.6rem; font-size:clamp(2.75rem,5.9vw,6rem); line-height:.98; }.pht-split-section>div:last-child { max-width:42rem; color:var(--pht-copy); font-size:1.1rem; }.pht-section-number { display:flex; gap:.65rem; align-items:center; margin:0; }.pht-section-number span { color:var(--pht-forest); font-family:var(--pht-mono); font-size:.75rem; }
.pht-numbered-list { border-top:1px solid var(--pht-rule); }.pht-numbered-list article { display:grid; grid-template-columns:6rem minmax(0,1fr) minmax(18rem,.8fr); gap:1rem; align-items:baseline; padding:2rem 0; border-bottom:1px solid var(--pht-rule); }.pht-list-number { color:#778278; font:.72rem/1 var(--pht-mono); }.pht-numbered-list h3 { margin:0; font-size:clamp(1.75rem,3.2vw,3rem); }.pht-numbered-list p { max-width:28rem; margin:0; color:var(--pht-copy); font-size:.95rem; }
.pht-dark-essay { position:relative; overflow:hidden; padding-block:clamp(5rem,12vw,11rem); background:var(--pht-forest); color:var(--pht-cream); }.pht-dark-essay::before { position:absolute; inset:0; background:linear-gradient(120deg,transparent,rgb(232 212 181 / .12)); content:""; pointer-events:none; }.pht-dark-essay .pht-shell { position:relative; }.pht-dark-essay .pht-eyebrow { color:#e5d1b3; }.pht-dark-essay h2 { max-width:16ch; color:#fff; font-size:clamp(2.7rem,6vw,6.8rem); line-height:1; }.pht-dark-essay-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 4rem; max-width:65rem; margin:3rem 0; color:rgb(245 241 233 / .79); }.pht-dark-essay .pht-button--light { border:1px solid rgb(245 241 233 / .65); border-radius:0; background:transparent; color:var(--pht-cream); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }.pht-dark-essay .pht-button--light:hover { background:var(--pht-cream); color:var(--pht-forest); }
.pht-portrait-section { align-items:center; }.pht-portrait-placeholder { display:grid; min-height:28rem; place-items:center; align-content:center; background:linear-gradient(145deg,#20382e,#718077); color:#e8d4b5; text-align:center; }.pht-portrait-placeholder span { font-family:var(--pht-serif); font-size:clamp(5rem,15vw,11rem); line-height:1; }.pht-portrait-placeholder small { max-width:16rem; margin-top:1rem; color:rgb(245 241 233 / .72); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }.pht-fact-placeholder { margin:1.6rem 0; padding-left:1rem; border-left:1px solid #9ca39a; color:#68746d; font-size:.78rem!important; line-height:1.6; }
.pht-section-heading { display:flex; justify-content:space-between; gap:3rem; margin-bottom:3rem; }.pht-section-heading>p { max-width:23rem; padding-top:1.6rem; color:var(--pht-copy); font-size:.95rem; }.pht-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--pht-rule); border-left:1px solid var(--pht-rule); }.pht-fact-grid article { min-height:9.5rem; padding:1.5rem; border-right:1px solid var(--pht-rule); border-bottom:1px solid var(--pht-rule); }.pht-fact-grid span { display:block; color:#718077; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }.pht-fact-grid strong { display:block; margin-top:1.5rem; font-family:var(--pht-serif); font-size:1.35rem; font-weight:500; line-height:1.1; }.pht-fact-grid p { margin:.85rem 0 0; color:var(--pht-copy); font-size:.84rem; }
.pht-depth-branch { padding-block:clamp(4rem,8vw,7rem); background:#ded9cf; }.pht-depth-branch h2 { max-width:14ch; margin-top:1.25rem; font-size:clamp(2.7rem,5.3vw,5.4rem); }.pht-depth-branch p:not(.pht-eyebrow) { max-width:37rem; color:var(--pht-copy); }.pht-depth-branch .pht-quiet-link { color:var(--pht-forest); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.pht-material-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--pht-rule); border-left:1px solid var(--pht-rule); }.pht-material-card { display:flex; min-height:20rem; flex-direction:column; padding:clamp(1.5rem,3vw,2.75rem); border-right:1px solid var(--pht-rule); border-bottom:1px solid var(--pht-rule); }.pht-material-card h3 { max-width:17ch; margin-top:2rem; font-size:clamp(1.7rem,3.2vw,3rem); }.pht-material-card h3 a { color:var(--pht-forest); text-decoration:none; }.pht-material-card>p:not(.pht-section-number) { max-width:31rem; color:var(--pht-copy); font-size:.92rem; }.pht-material-card .pht-text-link { margin-top:auto; color:var(--pht-forest); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.pht-final-cta { padding-block:clamp(5rem,11vw,10rem); background:var(--pht-forest); color:var(--pht-cream); }.pht-final-cta h2 { max-width:12ch; color:#fff; font-size:clamp(3rem,6vw,6.5rem); line-height:.98; }.pht-final-cta p:not(.pht-eyebrow):not(.pht-small) { max-width:43rem; color:rgb(245 241 233 / .8); }.pht-final-cta .pht-button { border-radius:0; background:var(--pht-sand); border-color:var(--pht-sand); color:var(--pht-forest); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }.pht-small { margin-top:1.5rem; color:rgb(245 241 233 / .6); font-size:.74rem; }
.pht-core-intro,.pht-material-hero { padding:clamp(6rem,13vw,12rem) 0 clamp(4rem,8vw,7rem); background:var(--pht-forest); color:var(--pht-cream); }.pht-core-intro .pht-section-number,.pht-material-hero .pht-section-number,.pht-core-intro .pht-section-number span,.pht-material-hero .pht-section-number span { color:#e5d1b3; }.pht-core-intro h1,.pht-material-hero h1 { max-width:14ch; margin-top:1.7rem; color:#fff; font-size:clamp(3.25rem,7vw,7.4rem); line-height:.97; }.pht-core-intro p:last-child,.pht-material-hero p:last-child { max-width:43rem; margin-top:1.8rem; color:rgb(245 241 233 / .77); }
@media (min-width:761px) { .pht-core-intro { padding:clamp(4.5rem,6vw,6.5rem) 0 clamp(3rem,4vw,4rem); }.pht-core-intro h1 { max-width:16ch; font-size:clamp(3rem,3.9vw,4.75rem); line-height:1; }.pht-material-hero { padding:clamp(4.5rem,6vw,6.5rem) 0 clamp(3rem,4vw,4rem); }.pht-material-hero h1 { max-width:17ch; font-size:clamp(2.5rem,3.6vw,4.5rem); line-height:1.04; }.pht-material-hero p:last-child { max-width:52rem; }.pht-section { padding-block:clamp(4rem,7vw,6.5rem); }.pht-split-section { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(2.5rem,5vw,5.5rem); padding-block:clamp(4.5rem,7vw,7rem); }.pht-split-section h2,.pht-section-heading h2 { max-width:15ch; font-size:clamp(2.35rem,3.5vw,4.25rem); line-height:1.02; }.pht-dark-essay { padding-block:clamp(4.5rem,7vw,7rem); }.pht-dark-essay h2 { max-width:20ch; font-size:clamp(2.5rem,3.8vw,4.6rem); line-height:1.04; }.pht-dark-essay-grid { margin:2.5rem 0; }.pht-article-body { padding-block:clamp(3.5rem,6vw,5.5rem); }.pht-article-body h2 { max-width:22ch; font-size:clamp(1.8rem,2.8vw,2.8rem); line-height:1.12; } }
.pht-callout { padding-block:clamp(4.5rem,9vw,8rem); background:#ded9cf; }.pht-callout h2 { max-width:18ch; font-size:clamp(2.5rem,5vw,5rem); }.pht-callout p:not(.pht-eyebrow) { max-width:43rem; color:var(--pht-copy); }.pht-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; }.pht-faq details { border-top:1px solid var(--pht-rule); padding:1.5rem 0; }.pht-faq details:last-child { border-bottom:1px solid var(--pht-rule); }.pht-faq summary { display:flex; justify-content:space-between; gap:1rem; cursor:pointer; font-family:var(--pht-serif); font-size:clamp(1.35rem,2.4vw,2.2rem); line-height:1.15; }.pht-faq details p { max-width:40rem; margin:1rem 2rem 0 0; color:var(--pht-copy); }
.pht-contact-layout { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(3rem,9vw,9rem); padding-block:clamp(5rem,11vw,10rem); }.pht-contact-layout h2 { margin-top:1.5rem; font-size:clamp(3rem,6vw,6.5rem); line-height:.98; }.pht-contact-layout>div>p { max-width:34rem; color:var(--pht-copy); }.pht-form { border:0; border-top:1px solid #9da49b; border-radius:0; background:transparent; box-shadow:none; }.pht-form label { display:block; padding:1.35rem 0; border-bottom:1px solid #aeb3ab; color:inherit; }.pht-form label span { display:block; color:#6f796f; font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.pht-form input,.pht-form textarea,.pht-form select { width:100%; margin-top:.7rem; border:0; border-radius:0; background:transparent; color:var(--pht-forest); font-family:var(--pht-serif); font-size:1.55rem; outline:0; }.pht-form textarea { resize:vertical; }.pht-form input:disabled,.pht-form textarea:disabled,.pht-form select:disabled { color:#718077; opacity:1; }.pht-form button { margin-top:1.75rem; border-radius:0; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.pht-article-body { max-width:760px; padding-block:clamp(4rem,8vw,8rem); }.pht-article-body section { margin-bottom:clamp(2.5rem,5vw,4rem); }.pht-article-body h2 { margin-bottom:1rem; font-size:clamp(2rem,4vw,3.7rem); }.pht-article-body p { max-width:58ch; color:var(--pht-copy); font-family:var(--pht-serif); font-size:clamp(1.12rem,1.8vw,1.35rem); line-height:1.72; }.pht-article-note { margin-top:4rem; padding:2rem; border-left:2px solid var(--pht-forest); background:#e4e1d9; }.pht-article-note p:last-child { margin-bottom:0; font-family:var(--pht-sans); font-size:.95rem; }.pht-article-cta { padding-bottom:clamp(5rem,11vw,9rem); }.pht-article-cta h2 { max-width:15ch; font-size:clamp(2.5rem,5vw,5.2rem); }.pht-article-cta p { max-width:45rem; color:var(--pht-copy); }.pht-utility-page { max-width:900px; }.pht-site-footer { border:0; background:var(--pht-forest); }
@media (max-width:1040px) { .pht-primary-nav { display:none; }.pht-menu-toggle { display:grid; order:2; border-radius:0; }.pht-language-switcher { margin-left:auto; }.pht-header-cta { display:none; }.pht-primary-nav[data-open] { position:absolute; top:100%; left:0; display:block; width:100%; padding:1.5rem max(1.5rem,calc((100vw - 1240px)/2)); border-bottom:1px solid var(--pht-rule); background:var(--pht-warm); }.pht-primary-nav[data-open] .pht-menu { display:grid; gap:1rem; }.pht-primary-nav[data-open] .pht-menu a { font-family:var(--pht-serif); font-size:1.8rem; } }
@media (max-width:760px) { body { overflow-x:clip; }:root { --pht-shell:min(1240px,calc(100vw - 2.25rem)); }.pht-shell { width:calc(100vw - 2.25rem); }.pht-header-inner { min-height:4.6rem; gap:.6rem; }.pht-brand-copy small,.pht-language-switcher { display:none; }.pht-menu-toggle { position:fixed; z-index:60; top:.9rem; right:1.125rem; display:grid; flex:0 0 2.75rem; margin:0; background:var(--pht-warm); }.pht-hero-content { min-height:44rem; padding-top:7rem; }.pht-hero h1+p { width:min(100%,19rem); max-width:100%; overflow-wrap:anywhere; font-size:.95rem; }.pht-hero-actions { flex-direction:column; align-items:flex-start; gap:.9rem; }.pht-hero-word { font-size:clamp(7rem,42vw,10rem); }.pht-split-section,.pht-faq,.pht-contact-layout { grid-template-columns:1fr; gap:2.5rem; }.pht-numbered-list article { grid-template-columns:1fr; gap:.75rem; }.pht-numbered-list article p { grid-column:auto; }.pht-dark-essay-grid,.pht-form-grid { grid-template-columns:1fr; gap:0; }.pht-section-heading { display:block; }.pht-section-heading>p { padding-top:0; }.pht-fact-grid,.pht-material-grid { grid-template-columns:1fr; }.pht-portrait-placeholder { min-height:20rem; }.pht-material-card { min-height:17rem; }.pht-footer-grid { grid-template-columns:1fr; gap:2.5rem; }.pht-footer-menu { justify-content:flex-start; }.pht-footer-meta { display:grid; gap:.5rem; } }
:root { scroll-padding-top: 6rem; }
.pht-contact-form { display: grid; gap: 0.9rem; }
.pht-contact-form input:not([type="checkbox"]), .pht-contact-form textarea { width: 100%; border: 1px solid var(--pht-line); border-radius: 0; padding: 0.9rem; background: #fff; color: var(--pht-ink); font: inherit; }
.pht-contact-form label { font-size: 0.95rem; }
.pht-contact-form label span { font-size: 0.85rem; }
.pht-contact-form .pht-contact-consent { display: flex; align-items: flex-start; gap: 0.65rem; }
.pht-contact-consent input { margin-top: 0.3rem; flex-shrink: 0; }
.pht-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pht-contact-form button:disabled { opacity: 0.55; cursor: wait; }
.pht-contact-form [data-pht-form-status] { min-height: 1.5em; }
.pht-hero .pht-hero-lead { max-width: 36rem; font-size: clamp(1.1rem, 1.7vw, 1.5rem); }
.pht-material-hero h1 { overflow-wrap: anywhere; }
