/* Homepage redesign — all rules scoped under .nzh- to avoid clashing with legacy styles */

:root{
	--nzh-navy:#101a76;
	--nzh-navy-dark:#0a1152;
	--nzh-red:#d7062c;
	--nzh-red-dark:#b00524;
	--nzh-red-light:#ff9daf;
	--nzh-ink:#1c2333;
	--nzh-muted:#5c6577;
	--nzh-bg-soft:#f5f7fb;
	--nzh-border:#e4e8f0;
}

/* ---------- Hero ---------- */
.nzh-hero{
	position:relative;
	background:linear-gradient(115deg,rgba(7,12,60,.93) 0%,rgba(16,26,118,.82) 55%,rgba(16,26,118,.55) 100%),url('../img/banner.jpg') center/cover no-repeat;
	color:#fff;
	padding:90px 0 150px;
}
.nzh-hero-inner{max-width:660px}
.nzh-hero-badge{
	display:inline-block;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.3);
	border-radius:30px;
	padding:6px 18px;
	font-size:13px;
	letter-spacing:1.5px;
	text-transform:uppercase;
	font-weight:700;
	margin-bottom:22px;
	color:#fff;
}
.nzh-hero h1{
	font-family:Lato,sans-serif;
	font-size:46px;
	line-height:1.15;
	font-weight:900;
	margin:0 0 18px;
	color:#fff;
}
.nzh-hero h1 span{color:var(--nzh-red-light)}
.nzh-hero-sub{
	font-size:18px;
	line-height:1.65;
	color:#dfe3f5;
	margin:0 0 30px;
	max-width:560px;
}
.nzh-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.nzh-btn{
	display:inline-block;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:16px;
	border-radius:6px;
	padding:15px 34px;
	transition:.25s all ease-in-out;
	text-align:center;
	border:2px solid transparent;
}
.nzh-btn-primary,.nzh-btn-primary:visited,.nzh-btn-primary:focus{background:var(--nzh-red);color:#fff}
.nzh-btn-primary:hover{background:var(--nzh-red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.25)}
.nzh-btn-ghost,.nzh-btn-ghost:visited,.nzh-btn-ghost:focus{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.nzh-btn-ghost:hover{background:#fff;color:var(--nzh-navy);border-color:#fff}
.nzh-btn-red,.nzh-btn-red:visited,.nzh-btn-red:focus{background:var(--nzh-red);color:#fff}
.nzh-btn-red:hover{background:#b00524;color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.25)}
.nzh-hero-trust{display:flex;flex-wrap:wrap;gap:10px 28px;padding:0;margin:0}
.nzh-hero-trust li{display:flex;align-items:center;gap:9px;font-size:14px;color:#e8ebfa;font-weight:600}
.nzh-hero-trust li span.fa-solid{color:var(--nzh-red-light);font-size:15px}

/* ---------- Stats band ---------- */
.nzh-stats{margin-top:-70px;position:relative;z-index:5}
.nzh-stats-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.nzh-stat-card{
	background:#fff;
	border-radius:10px;
	box-shadow:0 12px 35px rgba(16,26,118,.12);
	padding:26px 22px;
	display:flex;
	align-items:center;
	gap:16px;
	border-top:3px solid var(--nzh-red);
}
.nzh-stat-card span.fa-solid{
	font-size:30px;
	color:var(--nzh-red);
	background:#fdeef1;
	border-radius:10px;
	width:56px;height:56px;
	display:flex;align-items:center;justify-content:center;
	flex:0 0 56px;
}
.nzh-stat-card strong{display:block;font-family:Lato,sans-serif;font-size:20px;color:var(--nzh-ink);line-height:1.2}
.nzh-stat-card small{display:block;font-size:13px;color:var(--nzh-muted);margin-top:3px}

/* ---------- Generic section bits ---------- */
.nzh-section{padding:75px 0}
.nzh-section-alt{background:var(--nzh-bg-soft)}
.nzh-eyebrow{
	display:inline-block;
	color:var(--nzh-red);
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:13px;
	letter-spacing:2px;
	text-transform:uppercase;
	margin-bottom:10px;
}
.nzh-section h2{
	font-family:Lato,sans-serif;
	font-size:32px;
	font-weight:800;
	color:var(--nzh-ink);
	margin:0 0 18px;
	line-height:1.25;
}
.nzh-section p{color:var(--nzh-muted);font-size:15px;line-height:1.8;margin:0 0 16px}
.nzh-center{text-align:center}
.nzh-center .nzh-lead{max-width:720px;margin:0 auto 40px}

/* ---------- About / eTA sample ---------- */
.nzh-about{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
.nzh-about-img{position:relative;text-align:center}
.nzh-about-img img{
	border-radius:12px;
	box-shadow:0 20px 50px rgba(16,26,118,.18);
	transform:rotate(2deg);
	transition:.3s all ease-in-out;
}
.nzh-about-img img:hover{transform:rotate(0deg) scale(1.02)}
.nzh-about-img figcaption{margin-top:18px;font-size:13px;color:var(--nzh-muted)}
.nzh-check-list{padding:0;margin:22px 0 0}
.nzh-check-list li{display:block;position:relative;padding-left:27px;margin-bottom:12px;color:var(--nzh-ink);font-size:15px;line-height:1.6;width:100%;text-align:left}
.nzh-check-list li span.fa-solid{color:var(--nzh-red);font-size:15px;position:absolute;left:0;top:4px}

/* ---------- Steps ---------- */
.nzh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:10px}
.nzh-step{
	background:#fff;
	border:1px solid var(--nzh-border);
	border-radius:12px;
	padding:38px 28px 32px;
	position:relative;
	transition:.3s all ease-in-out;
}
.nzh-step:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(16,26,118,.12);border-color:transparent}
.nzh-step-num{
	position:absolute;
	top:-18px;left:28px;
	background:var(--nzh-red);
	color:#fff;
	font-family:Lato,sans-serif;
	font-weight:900;
	width:36px;height:36px;
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-size:16px;
	box-shadow:0 6px 15px rgba(215,6,44,.35);
}
.nzh-step span.fa-solid{font-size:38px;color:var(--nzh-navy);display:block;margin-bottom:16px}
.nzh-step h3{font-family:Lato,sans-serif;font-size:19px;font-weight:800;color:var(--nzh-ink);margin:0 0 10px}
.nzh-step p{margin:0;font-size:14px;color:var(--nzh-muted);line-height:1.7}

/* ---------- Country lists ---------- */
.nzh-country-group{margin-bottom:42px}
.nzh-country-group h3{
	font-family:Lato,sans-serif;
	font-size:20px;
	font-weight:800;
	color:var(--nzh-ink);
	margin:0 0 6px;
	display:flex;align-items:center;gap:10px;
}
.nzh-country-group h3 span.fa-solid{color:var(--nzh-red);font-size:18px}
.nzh-country-group > p{margin-bottom:18px;font-size:14px}
.nzh-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:0;margin:0}
.nzh-chips li{width:100%}
.nzh-chip,
.nzh-chips li > .nzh-chip:visited{
	display:flex;
	align-items:center;
	gap:8px;
	background:#fff;
	border:1px solid var(--nzh-border);
	border-radius:8px;
	padding:10px 14px;
	font-size:14px;
	color:var(--nzh-ink);
	font-weight:600;
	line-height:1.3;
	transition:.2s all ease-in-out;
	width:100%;
}
a.nzh-chip:hover{border-color:var(--nzh-red);color:var(--nzh-red);box-shadow:0 6px 16px rgba(215,6,44,.12);transform:translateY(-2px)}
a.nzh-chip:after{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;margin-left:auto;color:var(--nzh-red);opacity:.7}
.nzh-chip-plain{cursor:default;color:var(--nzh-muted);font-weight:400}

/* ---------- Specifications ---------- */
.nzh-specs{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.nzh-spec-card{
	background:#fff;
	border-radius:12px;
	border:1px solid var(--nzh-border);
	padding:34px 30px;
}
.nzh-spec-card h3{font-family:Lato,sans-serif;font-size:19px;font-weight:800;color:var(--nzh-ink);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.nzh-spec-card h3 span.fa-solid{color:var(--nzh-red)}
.nzh-spec-card ul{padding:0;margin:6px 0 0}
.nzh-spec-card ul li{display:block;position:relative;padding-left:24px;width:100%;margin-bottom:10px;font-size:14px;color:var(--nzh-ink);line-height:1.6;text-align:left}
.nzh-spec-card ul li span.fa-solid{color:var(--nzh-red);position:absolute;left:0;top:4px;font-size:13px}

/* ---------- CTA band ---------- */
.nzh-cta{
	background:linear-gradient(115deg,var(--nzh-navy-dark) 0%,var(--nzh-navy) 60%,#2334b0 100%);
	color:#fff;
	padding:70px 0;
	text-align:center;
}
.nzh-cta h2{font-family:Lato,sans-serif;font-size:32px;font-weight:900;color:#fff;margin:0 0 14px}
.nzh-cta p{color:#ccd3f2;font-size:16px;max-width:620px;margin:0 auto 30px;line-height:1.7}

/* ---------- Responsive ---------- */
@media (max-width:991px){
	.nzh-hero{padding:60px 0 130px}
	.nzh-hero h1{font-size:36px}
	.nzh-stats-grid{grid-template-columns:repeat(2,1fr)}
	.nzh-about{grid-template-columns:1fr;gap:40px}
	.nzh-steps{grid-template-columns:1fr;gap:32px}
	.nzh-specs{grid-template-columns:1fr}
}
@media (max-width:600px){
	.nzh-hero{padding:45px 0 120px}
	.nzh-hero h1{font-size:29px}
	.nzh-hero-sub{font-size:16px}
	.nzh-btn{width:100%}
	.nzh-hero-actions{flex-direction:column}
	.nzh-stats-grid{grid-template-columns:1fr}
	.nzh-section{padding:55px 0}
	.nzh-section h2{font-size:25px}
	.nzh-chips{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
	.nzh-cta h2{font-size:25px}
}

/* ---------- Prose block (validity / IVL) ---------- */
.nzh-prose{max-width:860px;margin:0 auto}
.nzh-prose p{text-align:left}
.nzh-prose .nzh-center{margin-bottom:14px}
.nzh-prose a{color:var(--nzh-red)}
.nzh-prose a:hover{color:var(--nzh-red-dark);text-decoration:underline}

/* ---------- FAQ accordion ---------- */
.nzh-faq{max-width:860px;margin:0 auto}
.nzh-faq details{
	background:#fff;
	border:1px solid var(--nzh-border);
	border-radius:10px;
	margin-bottom:14px;
}
.nzh-faq details[open]{box-shadow:0 10px 30px rgba(16,26,118,.08);border-color:transparent}
.nzh-faq summary{
	cursor:pointer;
	padding:18px 22px;
	font-family:Lato,sans-serif;
	font-weight:700;
	font-size:16px;
	color:var(--nzh-ink);
	list-style:none;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:14px;
}
.nzh-faq summary::-webkit-details-marker{display:none}
.nzh-faq summary:after{
	content:"\f078";
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	font-size:12px;
	color:var(--nzh-red);
	transition:transform .25s ease-in-out;
	flex:0 0 auto;
}
.nzh-faq details[open] summary:after{transform:rotate(180deg)}
.nzh-faq details p{padding:0 22px 20px;margin:0;text-align:left}
@media (max-width:600px){
	.nzh-faq summary{padding:15px 16px;font-size:15px}
	.nzh-faq details p{padding:0 16px 16px}
}

/* ---------- Compact page hero (inner pages) ---------- */
.nzh-hero-sm{padding:65px 0 70px}
.nzh-hero-sm .nzh-hero-inner{max-width:760px}
.nzh-hero-sm h1{font-size:38px}
@media (max-width:600px){
	.nzh-hero-sm h1{font-size:27px}
}
