/* About page: "A Letter From Travis" (partials/about-letter*.php). Loaded only by template-about.php.
   Uses the theme tokens from style.css (--dark, --green, --orange, --text-green).
   Rule for WP Compress: nothing here hides content by default. Collapsing is done by native
   <details>; motion runs only where supported and wanted, and its resting state is the final state. */

.nct-letter,
.nct-story,
.nct-standards,
.nct-two,
.nct-close {
	--nct-ink: #10171c;
	--nct-body: #3c4349;
	--nct-paper: #f3f7fa;
	--nct-leaf: #0d6601;
	--nct-lime: #8bc43d;
	--nct-rope-a: #0d6601;
	--nct-rope-b: #8bc43d;
	--nct-rope-c: #bfff28;
	font-family: "Roboto", sans-serif;
	color: var(--nct-body);
}

.nct-prose p {
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 1em;
	max-width: 68ch;
	color: inherit;
}
.nct-prose p:last-child { margin-bottom: 0; }

.nct-head h2,
.nct-standards h2,
.nct-two h2 {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	color: var(--nct-ink);
	font-size: 36px;
	line-height: 1.2;
	margin: 0 0 22px;
}

/* ---------- quotes: a hanging opening mark, Poppins, sentence-sized ---------- */
.nct-quote {
	margin: 32px 0 0;
	padding: 0 0 0 44px;
	position: relative;
	border: 0;
}
.nct-quote p {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.35;
	color: var(--nct-ink);
	margin: 0;
	max-width: 30ch;
}
.nct-quote::before {
	content: "\201C";
	position: absolute;
	left: -0.05em;
	top: -0.18em;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-size: 64px;
	line-height: 1;
	color: var(--nct-lime);
}

/* ---------- letter intro ---------- */
.nct-letter {
	padding: 70px 0 40px;
	background: #fff;
}
.nct-letter__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: start;
}
.nct-letter__photo {
	margin: 0;
	position: relative;
}
.nct-letter__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 30% 40%;
	border-radius: 4px;
}
.nct-letter__title {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-size: 44px;
	line-height: 1.1;
	color: var(--nct-ink);
	margin: 6px 0 28px;
}
.nct-letter__title span {
	display: block;
	margin-top: 12px;
	font-size: 19px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--nct-leaf);
}
.nct-letter .nct-prose p { font-size: 19px; color: #262d33; }
.nct-quote--lead p { font-size: 30px; }

/* ---------- story on the rope ---------- */
.nct-story {
	background: var(--nct-paper);
	padding: 80px 0 90px;
}
.nct-story__grid {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: 56px;
	align-items: start;
}
.nct-head .subhead { margin-bottom: 6px; }
.nct-story__main {
	position: relative;
	padding-left: 92px;
}
.nct-rope {
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
	position: static;
}
/* the rope: a braided double strand in the theme greens, hung from the top edge of the band
   and running down past every chapter to the closing quote */
.nct-story__main::before {
	content: "";
	position: absolute;
	left: 34px;
	top: -80px;
	bottom: 40px;
	width: 10px;
	border-radius: 5px;
	background:
		repeating-linear-gradient(135deg, var(--nct-rope-a) 0 5px, var(--nct-rope-b) 5px 10px);
	box-shadow: inset -2px 0 0 rgba(0, 0, 0, 0.12);
	transform-origin: top center;
}
.nct-rope__step {
	position: relative;
	padding: 0 0 46px;
}
.nct-rope__step:last-child { padding-bottom: 0; }
.nct-rope__knot {
	position: absolute;
	left: -78px;
	top: -6px;
	width: 50px;
	height: 50px;
	display: grid;
	place-items: center;
	background: #fff;
	border: 2px solid var(--nct-leaf);
	border-radius: 50%;
	color: var(--nct-leaf);
}
.nct-rope__knot .nct-icon { width: 34px; height: 34px; }
.nct-rope__step:last-child .nct-rope__knot {
	background: var(--green);
	border-color: transparent;
	color: #fff;
}
.nct-rope__step h3 {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-size: 23px;
	line-height: 1.3;
	color: var(--nct-ink);
	margin: 4px 0 12px;
}
.nct-quote--story { margin: 44px 0 0; }
.nct-story__aside {
	position: sticky;
	top: 120px;
}
.nct-story__aside figure { margin: 0; }
.nct-story__aside img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 4px;
}
.nct-story__aside figcaption {
	font-size: 14px;
	line-height: 1.5;
	color: #5b646b;
	margin-top: 10px;
	padding-left: 12px;
	border-left: 3px solid var(--nct-lime);
}

/* ---------- expanders (native <details>) ---------- */
.nct-more { margin-top: 14px; }
.nct-more > summary,
.nct-q > summary {
	list-style: none;
	cursor: pointer;
}
.nct-more > summary::-webkit-details-marker,
.nct-q > summary::-webkit-details-marker { display: none; }
.nct-more > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: var(--nct-leaf);
	padding: 6px 0;
	border-bottom: 2px solid var(--nct-lime);
}
.nct-more > summary .nct-icon { width: 18px; height: 18px; transition: transform 0.2s ease; }
.nct-more[open] > summary .nct-icon { transform: rotate(180deg); }
.nct-more__open { display: none; }
.nct-more[open] .nct-more__open { display: inline !important; } /* beats bootstrap [hidden]{display:none!important} */
.nct-more[open] .nct-more__closed { display: none; }
.nct-more[open] > summary { margin-bottom: 14px; }
.nct-more__body { overflow: hidden; }
.nct-more > summary:hover { color: #0a4f01; }
.nct-more > summary:focus-visible,
.nct-q > summary:focus-visible,
.nct-btn:focus-visible {
	outline: 3px solid var(--nct-lime);
	outline-offset: 3px;
}

.nct-q {
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	margin-top: 18px;
}
.nct-q > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.35;
}
.nct-q > summary .nct-icon {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	padding: 5px;
	border-radius: 50%;
	background: var(--orange);
	color: #fff;
	transition: transform 0.2s ease;
}
.nct-q[open] > summary .nct-icon { transform: rotate(45deg); }
.nct-q .nct-more__body { padding: 0 0 18px; }

/* ---------- standards band (dark, like the site's trust band) ---------- */
.nct-standards {
	background-color: var(--dark);
	color: #c9d1d6;
	padding: 90px 0 80px;
	border-top: 8px solid #f79215;
}
.nct-standards h2 { color: #fff; }
.nct-standards .nct-prose p { color: #c9d1d6; }
.nct-standards__top {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 64px;
	align-items: start;
}
.nct-quote--big { margin-top: 0; }
.nct-quote--big p {
	font-size: 44px;
	line-height: 1.12;
	color: #fff;
}
.nct-quote--big { padding-left: 62px; }
.nct-quote--big::before { font-size: 96px; top: -0.22em; }
.nct-standards__intro {
	margin: 24px 0 0;
	font-size: 16px;
	color: #9aa6ae;
	font-style: italic;
}
.nct-q--dark { border-color: rgba(255, 255, 255, 0.16); }
.nct-q--dark > summary { color: #fff; }
.nct-q--dark .nct-more__body p { color: #c9d1d6; }

.nct-creds {
	margin-top: 70px;
	padding-top: 50px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.nct-creds__intro p { max-width: 80ch; }
.nct-creds__list {
	list-style: none;
	margin: 36px 0 10px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}
.nct-creds__list li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	color: #fff;
}
.nct-creds__icon {
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	background: #fff;
	border-radius: 3px;
	color: #000;
}
.nct-creds__icon .nct-icon { width: 40px; height: 40px; }
.nct-creds__list li:first-child .nct-creds__icon { background: var(--green); color: #fff; }
.nct-creds .nct-q { max-width: 760px; }

.nct-standards__close {
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}
.nct-standards__close .nct-prose { flex: 1 1 380px; }
.nct-quote--stamp { margin: 0; }
.nct-quote--stamp p {
	color: var(--nct-lime);
	font-size: 34px;
	white-space: nowrap;
}
.nct-quote--stamp::before { color: #f79215; }

/* ---------- community + climbers ---------- */
.nct-two { padding: 30px 0 80px; background: #fff; }
.nct-two__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}
.nct-two__community {
	background: var(--green);
	color: #fff;
	padding: 48px 44px;
	border-radius: 4px;
}
.nct-two__community .subhead { color: #fff; }
.nct-two__community h2 { color: #fff; }
.nct-two__community .nct-prose p { color: #fff; }
.nct-facts {
	list-style: none;
	margin: 28px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 20px;
}
.nct-facts li {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.nct-facts li::before {
	content: "\f00c";
	font-family: "FontAwesome";
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	font-size: 12px;
	border-radius: 50%;
	background: #fff;
	color: var(--nct-leaf);
}
.nct-two__climb {
	border: 1px solid #ebebeb;
	border-radius: 4px;
	padding: 0 44px 44px;
	overflow: hidden;
}
.nct-two__photo { margin: 0 -44px 32px; }
.nct-two__photo img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
	object-position: 50% 30%;
}
.nct-two__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
.nct-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 22px;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	border-radius: 3px;
	text-decoration: none;
}
.nct-btn .nct-icon { width: 20px; height: 20px; }
.nct-btn--orange { background: var(--orange); color: #fff; }
.nct-btn--orange:hover { color: #fff; opacity: 0.9; text-decoration: none; }
.nct-btn--ghost { border: 2px solid var(--nct-ink); color: var(--nct-ink); }
.nct-btn--ghost:hover { background: var(--nct-ink); color: #fff; text-decoration: none; }

/* ---------- closing note ---------- */
.nct-close { background: var(--nct-paper); padding: 70px 0; }
.nct-close__card {
	max-width: 760px;
	margin: 0 auto;
	background: #fff;
	padding: 48px 52px;
	border-radius: 4px;
	border-top: 6px solid var(--nct-lime);
}
.nct-close .nct-prose p { font-size: 19px; color: #262d33; }
.nct-sign {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 28px;
}
.nct-sign__photo {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}
.nct-sign p { margin: 0; line-height: 1.45; }
.nct-sign strong {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	color: var(--nct-ink);
}
.nct-sign span { display: block; font-size: 15px; color: #5b646b; }
.nct-close__cta { margin-top: 30px; }
.nct-close__cta .cta-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.nct-close__cta .cta-nav ul li::before { display: none; }
@media (max-width: 575px) { .nct-close__cta .cta-nav ul { grid-template-columns: 1fr; } }

/* ---------- the one motion: the rope pays out as the story scrolls past ---------- */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.nct-story__main::before {
			animation: nct-rope-pay-out linear both;
			animation-timeline: view();
			animation-range: entry 10% cover 55%;
		}
		@keyframes nct-rope-pay-out {
			from { transform: scaleY(0.04); }
			to { transform: scaleY(1); }
		}
	}
}

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
	.nct-creds__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.nct-letter__grid,
	.nct-story__grid,
	.nct-standards__top,
	.nct-two__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.nct-letter__photo { max-width: 420px; }
	.nct-story__aside { position: static; max-width: 420px; }
	.nct-letter__title { font-size: 36px; }
	.nct-quote--big p { font-size: 36px; }
}
@media (max-width: 575px) {
	.nct-letter { padding: 44px 0 20px; }
	.nct-story, .nct-standards { padding: 56px 0; }
	.nct-letter__title { font-size: 30px; }
	.nct-letter__title span { font-size: 17px; }
	.nct-letter .nct-prose p, .nct-close .nct-prose p { font-size: 17px; }
	.nct-head h2, .nct-standards h2, .nct-two h2 { font-size: 28px; }
	.nct-quote p, .nct-quote--lead p { font-size: 22px; }
	.nct-quote--big p { font-size: 30px; }
	.nct-quote--stamp p { font-size: 26px; white-space: normal; }
	.nct-story__main { padding-left: 58px; }
	.nct-story__main::before { left: 19px; width: 8px; top: -56px; }
	.nct-rope__knot { left: -58px; width: 44px; height: 44px; }
	.nct-rope__knot .nct-icon { width: 30px; height: 30px; }
	.nct-rope__step h3 { font-size: 20px; }
	.nct-creds__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nct-two__community, .nct-close__card { padding: 34px 22px; }
	.nct-two__climb { padding: 0 22px 34px; }
	.nct-two__photo { margin: 0 -22px 26px; }
	.nct-facts { grid-template-columns: 1fr; }
	.nct-btn { width: 100%; justify-content: center; }
}

/* "Why Choose" (partials/about-secfive.php) now follows the dark standards band */
.nct-standards + .section-five-home { padding-top: 80px; }
