/* Interior pages - Squarespace replica.
   Measured at a 1920px frame; lengths are px / 19.2 in vw. */

.tnuva-page {
	--tnp-navy: #08163A;
	--tnp-red: #E62A00;
	--tnp-cream: #F2ECD9;
	--tnp-head: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
	--tnp-body: Arial, Helvetica, sans-serif;
	--tnp-gutter: max(3.5vw,(100vw - 1414px) / 2);
	--tnp-h1: clamp(30px, min(66.4px,4.7428vw), 74px);
	--tnp-h2: clamp(25px, min(42.88px,3.0628vw), 48px);
	--tnp-h3: clamp(20px, min(29.44px,2.1028vw), 33px);
	--tnp-pmd: clamp(15px, min(17.68px,1.2629vw), 20px);
	background: #fff;
	color: var(--tnp-navy);
	font-family: var(--tnp-body);
	overflow-x: clip;
	display: block;
}

.tnuva-page *,
.tnuva-page *::before,
.tnuva-page *::after { box-sizing: border-box; }

.tnp-wrap { padding-left: var(--tnp-gutter); padding-right: var(--tnp-gutter); }

.tnp-hero { background: var(--tnp-cream); padding: calc(52.15px + 8.3908vw) 0 calc(21.73px + 3.4955vw); }

.tnuva-page .tnp-title {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h1);
	line-height: 1.232;
	font-weight: 500;
	letter-spacing: normal;
	color: var(--tnp-navy);
	margin: 0;
	max-width: min(930.01px,66.4293vw);
	text-align: left;
	text-transform: none;
}

.tnuva-page .tnp-intro {
	font-family: var(--tnp-body);
	font-size: var(--tnp-pmd);
	line-height: 1.8;
	font-weight: 400;
	color: var(--tnp-navy);
	max-width: min(694px,49.5717vw);
	margin: calc(6.4px + 1.0291vw) 0 0;
}

.tnp-body {
	padding: calc(21.73px + 3.4955vw) var(--tnp-gutter) calc(28.34px + 4.5594vw);
	max-width: none;
}

.tnuva-page .tnp-body > * { max-width: 1400px; margin-left: auto; margin-right: auto; }

.tnuva-page .tnp-body h2 {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h2);
	line-height: 1.3104;
	font-weight: 500;
	color: var(--tnp-navy);
	margin: 1.6em 0 .5em;
	text-transform: none;
	letter-spacing: normal;
}

.tnuva-page .tnp-body h3,
.tnuva-page .tnp-body h4 {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h3);
	line-height: 1.3552;
	font-weight: 500;
	color: var(--tnp-navy);
	margin: 1.4em 0 .4em;
	text-transform: none;
	letter-spacing: normal;
}

.tnuva-page .tnp-body p,
.tnuva-page .tnp-body li {
	font-family: var(--tnp-body);
	font-size: var(--tnp-pmd);
	line-height: 1.8;
	font-weight: 400;
	color: var(--tnp-navy);
}

.tnuva-page .tnp-body p { margin: 0 0 1.2em; }
.tnuva-page .tnp-body a { color: var(--tnp-red); }
.tnuva-page .tnp-body img { max-width: 100%; height: auto; display: block; }

/* --- split hero (Our Story) -------------------------------------------- */

.tnp-split {
	display: grid;
	grid-template-columns: min(518.4px,37.0286vw) 1fr;
	gap: min(86.4px,6.1714vw);
	align-items: start;
}

.tnp-split-media img { width: 100%; height: auto; }

.tnuva-page .tnp-actions { display: flex; gap: min(46.08px,3.2914vw); margin: 2em 0 0; flex-wrap: wrap; }

.tnuva-page .tnp-btn {
	display: inline-block;
	font-family: var(--tnp-head);
	font-size: 16px;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: .32px;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--tnp-red);
	border-radius: 0;
	padding: 11.2px 35.2px;
}

.tnuva-page .tnp-btn:hover { color: #fff; opacity: .88; }

/* --- team grid ---------------------------------------------------------- */

.tnp-team {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: min(38.4px,2.7429vw);
	row-gap: calc(18.89px + 3.0396vw);
	margin-top: 1em;
}

.tnp-person-media {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--tnp-cream);
	margin-bottom: calc(4.43px + 0.7124vw);
}

.tnp-person-media img { width: 100%; height: 100%; object-fit: cover; }

.tnuva-page .tnp-person h2 {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h3);
	line-height: 1.3552;
	font-weight: 500;
	margin: 0 0 4px;
}

.tnuva-page .tnp-role {
	font-family: var(--tnp-body);
	font-size: 14px;
	line-height: 1.6;
	color: #6E6E73;
	margin: 0 0 10px;
}

.tnuva-page .tnp-quote {
	font-family: var(--tnp-body);
	font-size: 14px;
	line-height: 1.7;
	color: var(--tnp-navy);
	margin: 0;
}

/* --- FAQ accordion ------------------------------------------------------ */

.tnp-faqs {
	background: var(--tnp-navy);
	padding: calc(25.58px + 4.1163vw) 0 calc(33.21px + 5.3433vw);
	margin: 0;
	max-width: none;
}

.tnp-faq-inner { width: min(930.01px,66.4293vw); margin: 0 auto; }

.tnuva-page .tnp-faqs h2 {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h2);
	line-height: 1.3104;
	font-weight: 500;
	color: #fff;
	text-align: center;
	margin: 0 0 calc(6.64px + 1.0687vw);
}

.tnp-acc-item { border-bottom: 1px solid rgba(255, 255, 255, .25); }

.tnp-acc-q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 81px;
	padding-block: var(--tnuva-space-s);
	font-family: var(--tnp-body);
	font-size: var(--tnp-pmd);
	line-height: 1.8;
	color: #fff;
	cursor: pointer;
	list-style: none;
}

.tnp-acc-q::-webkit-details-marker { display: none; }

.tnp-acc-q::after {
	content: '';
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .2s ease;
}

.tnp-acc-item[open] .tnp-acc-q::after { transform: rotate(225deg) translate(-2px, -2px); }

.tnuva-page .tnp-acc-a { padding: 0 0 max(var(--tnuva-space-s), calc(6.89px + 1.1082vw)); }

.tnuva-page .tnp-acc-a p {
	margin: 0;
	font-size: clamp(14px, min(15.74px,1.1246vw), 18px);
	line-height: 1.8;
	color: rgba(255, 255, 255, .85);
}

/* --- responsive --------------------------------------------------------- */


/* The body link colour was beating the button rule and painting red on red. */
.tnuva-page .tnp-body a.tnp-btn,
.tnuva-page .tnp-body a.tnp-btn:hover,
.tnuva-page .tnp-body a.tnp-btn:focus { color: #fff; }


/* --- Green hero (Contact) ---------------------------------------------- */

.tnp-hero--green {
	position: relative;
	background: #5E9245;
	overflow: hidden;
	min-height: calc(137.51px + 22.1245vw);
	display: flex;
	align-items: center;
	padding: calc(18.89px + 3.0396vw) 0;
}

.tnp-hero--green .tnp-wrap { position: relative; z-index: 2; width: 100%; }

.tnuva-page .tnp-hero--green .tnp-title {
	color: #fff;
	text-align: center;
	max-width: none;
	margin: 0 auto;
}

.tnp-hero-art { position: absolute; z-index: 1; display: block; }
.tnp-hero-art-1 { left: min(123.99px,8.8567vw); top: calc(39.11px + 6.2927vw); width: min(229px,16.357vw); }
.tnp-hero-art-2 { left: min(1487px,106.2144vw); top: calc(22.14px + 3.5624vw); width: min(165px,11.7861vw); }
.tnp-hero-art-3 { left: min(1440px,102.8571vw); top: calc(84.13px + 13.5361vw); width: min(394px,28.1431vw); }

/* --- Contact layout ----------------------------------------------------- */

.tnuva-page .tnp-center { text-align: center; }

.tnp-contact {
	display: grid;
	grid-template-columns: min(753px,53.7861vw) minmax(0, min(399.99px,28.571vw));
	column-gap: min(129px,9.2146vw);
	justify-content: center;
	margin-top: calc(16.73px + 2.6916vw);
}

.tnp-form { display: block; }
.tnp-field { margin: 0 0 calc(4.92px + 0.7916vw); }

.tnuva-page .tnp-label {
	display: block;
	font-family: var(--tnp-body);
	font-size: var(--tnp-pmd);
	line-height: 2.04;
	color: var(--tnp-navy);
	margin: 0;
}

.tnuva-page .tnp-cap {
	display: block;
	font-family: var(--tnp-body);
	font-size: 12px;
	line-height: 2.58;
	color: var(--tnp-navy);
}

.tnuva-page .tnp-label span,
.tnuva-page .tnp-cap span { opacity: .6; }

.tnp-row-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tnp-row-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.tnp-row-2 .tnp-field, .tnp-row-3 .tnp-field { margin: 0 0 calc(4.92px + 0.7916vw); }

.tnuva-page .tnp-input {
	display: block;
	width: 100%;
	height: 44px;
	padding: 5px 10px;
	background: transparent;
	border: 1px solid rgba(8, 22, 58, .55);
	border-radius: 0;
	font-family: var(--tnp-body);
	font-size: var(--tnp-pmd);
	color: var(--tnp-navy);
	box-shadow: none;
}

.tnuva-page .tnp-textarea { height: 120px; resize: vertical; }

.tnuva-page .tnp-submit {
	margin-top: 12px;
	width: 132px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--tnp-red);
	color: #fff;
	font-family: var(--tnp-head);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .32px;
	text-transform: uppercase;
	cursor: pointer;
}

.tnuva-page .tnp-submit:hover { opacity: .88; }

.tnuva-page .tnp-contact-aside h3 {
	font-family: var(--tnp-head);
	font-size: var(--tnp-h3);
	line-height: 1.3552;
	font-weight: 500;
	color: var(--tnp-navy);
	margin: 0 0 calc(7.38px + 1.1874vw);
}

.tnuva-page .tnp-contact-aside h4 {
	font-family: var(--tnp-head);
	font-size: clamp(16px, min(19.36px,1.3829vw), 21px);
	line-height: 1.4;
	font-weight: 500;
	color: var(--tnp-navy);
	margin: 0 0 calc(7.87px + 1.2666vw);
}

@media (max-width: 1024px) {
	/* The bar is fixed, so every hero reserves its height. Writing that as
	   `header + offset` keeps the two in step: these used to be flat pixel
	   values measured against an 84px bar, and the bar is now 71px on
	   tablet and a clamped 64-84px on phones. */
	.tnp-hero--green { min-height: 0; padding: calc(var(--tnuva-header-h) + var(--tnuva-space-2xl)) 0 var(--tnuva-space-xl); }
	.tnp-hero-art { display: none; }
	.tnp-contact { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
}

@media (max-width: 767px) {
	.tnp-row-3 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1024px) {
	.tnuva-page { --tnp-gutter: 6vw; }
	.tnp-hero { padding-top: calc(var(--tnuva-header-h) + var(--tnuva-space-2xl)); }
	.tnuva-page .tnp-title, .tnuva-page .tnp-intro { max-width: none; }
	.tnp-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.tnp-team { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--tnuva-space-xl); }
	.tnp-faq-inner { width: 88vw; }
	.tnp-faqs { padding: var(--tnuva-space-2xl) 0; }
}

@media (max-width: 767px) {
	.tnuva-page { --tnp-gutter: 5vw; }
	/* One portrait per row: the 30px the vw fit gives here reads as a single
	   run of faces rather than four people. */
	.tnp-team { grid-template-columns: minmax(0, 1fr); row-gap: var(--tnuva-space-xl); }
}
