/* Hero Footer - frontend (footer layout, hero colours) */
.hf{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	box-sizing:border-box;
	width:100%;
	padding:var(--hf-pt,56px) 24px var(--hf-pb,24px);
	background:linear-gradient(var(--hf-angle,115deg),var(--hf-from,#0f2a18) 0%,var(--hf-mid,#1d3f20) 50%,var(--hf-to,#7b8530) 100%);
	color:var(--hf-text,#fff);
	font-family:var(--hf-ff,inherit);
	border-radius:var(--hf-sr,0) var(--hf-sr,0) 0 0;
	line-height:1.5;
}
.hf *,.hf *::before,.hf *::after{box-sizing:border-box}
.hf a{text-decoration:none}

/* Optional extras (off by default) */
.hf-stripes::before{
	content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
	background:repeating-linear-gradient(135deg,rgba(255,255,255,var(--hf-stripe,.04)) 0 70px,transparent 70px 140px);
}
.hf-glow::after{
	content:"";position:absolute;z-index:-1;pointer-events:none;
	right:-12%;top:-25%;width:55%;height:150%;
	background:linear-gradient(135deg,transparent 0%,var(--hf-glow,rgba(242,193,78,.28)) 100%);
	transform:skewX(-14deg);
}

.hf-inner{max-width:var(--hf-maxw,1280px);margin:0 auto}

/* Call-to-action band */
.hf-cta{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 40px;
	padding:28px 34px;
	background:var(--hf-card);
	border:1px solid var(--hf-card-bd);
	border-radius:calc(var(--hf-cr,20px) + 6px);
	-webkit-backdrop-filter:blur(var(--hf-blur,10px));backdrop-filter:blur(var(--hf-blur,10px));
}
.hf-cta-text{flex:1 1 380px;min-width:0}
.hf-eyebrow{
	display:inline-flex;align-items:center;gap:12px;
	color:var(--hf-accent,#f2c14e);
	font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
	margin-bottom:10px;
}
.hf-eyebrow::before{content:"";width:34px;height:3px;border-radius:3px;background:var(--hf-accent,#f2c14e)}
.hf-title{
	margin:0;padding:0;
	color:var(--hf-text,#fff);
	font-family:var(--hf-ff,inherit);
	font-size:var(--hf-h,28px);
	font-weight:var(--hf-hw,700);
	line-height:1.2;letter-spacing:-.02em;
}
.hf-sub{
	margin:8px 0 0;max-width:620px;
	color:var(--hf-muted,#c9d6c3);
	font-size:var(--hf-sub,15px);line-height:1.65;
}
.hf-btns{display:flex;flex-wrap:wrap;gap:12px}
.hf-btn{
	display:inline-flex;align-items:center;justify-content:center;
	padding:13px 26px;border-radius:var(--hf-br,999px);
	font-size:14.5px;font-weight:600;line-height:1;white-space:nowrap;
	transition:transform .2s,background .2s,box-shadow .2s;
	border:1px solid transparent;
}
.hf-btn-primary{background:var(--hf-hl-bg,#fff);color:var(--hf-hl-text,#14301a)}
.hf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25);color:var(--hf-hl-text,#14301a)}
.hf-btn-ghost{
	background:var(--hf-card);color:var(--hf-text,#fff);
	border-color:var(--hf-card-bd);
}
.hf-btn-ghost:hover{background:rgba(255,255,255,.18);color:var(--hf-text,#fff)}

/* Link columns */
.hf-links{
	display:flex;flex-wrap:wrap;gap:36px 56px;
	margin-top:52px;
}
.hf-cta + .hf-links{margin-top:52px}
.hf-inner > .hf-links:first-child{margin-top:0}
.hf-about{flex:1.5 1 300px;max-width:400px}
.hf-about p{margin:0;color:var(--hf-muted,#c9d6c3);font-size:14.5px;line-height:1.75}
.hf-logo{display:block;height:auto;margin-bottom:16px}
.hf-col{flex:1 1 170px}
.hf-col h4{
	margin:0 0 16px;padding:0;
	font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
	color:var(--hf-accent,#f2c14e);font-family:var(--hf-ff,inherit);
}
.hf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hf-col li{margin:0;padding:0}
.hf-col a{color:var(--hf-text,#fff);font-size:14.5px;opacity:.85;transition:opacity .2s,color .2s}
.hf-col a:hover{opacity:1;color:var(--hf-accent,#f2c14e)}

/* Office cards (compact glass) */
.hf-cards{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:16px;margin-top:44px;
}
.hf-card{
	display:flex;flex-direction:column;gap:4px;
	padding:18px 20px 20px;
	background:var(--hf-card);
	border:1px solid var(--hf-card-bd);
	border-radius:var(--hf-cr,20px);
	-webkit-backdrop-filter:blur(var(--hf-blur,10px));backdrop-filter:blur(var(--hf-blur,10px));
	color:var(--hf-text,#fff);
	transition:transform .25s;
}
.hf-card:hover{transform:translateY(-3px)}
.hf-card-icon{display:block;width:18px;height:18px;margin-bottom:10px;color:var(--hf-accent,#f2c14e)}
.hf-card-icon svg{display:block;width:100%;height:100%}
.hf-card-tag{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.hf-card-title{margin:0 0 4px;padding:0;font-size:17px;font-weight:700;letter-spacing:-.01em;color:inherit;font-family:var(--hf-ff,inherit);line-height:1.25}
.hf-card-addr{margin:0;font-size:13.5px;line-height:1.6;color:var(--hf-muted,#c9d6c3)}
.hf-card-contact{margin:8px 0 0;display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.hf-card-contact a{color:var(--hf-text,#fff);font-weight:500;word-break:break-word}
.hf-card-contact a:hover{color:var(--hf-accent,#f2c14e)}

.hf-card-hl{background:var(--hf-hl-bg,#fff);border-color:var(--hf-hl-bg,#fff);color:var(--hf-hl-text,#14301a)}
.hf-card-hl .hf-card-icon{color:var(--hf-hl-text,#14301a)}
.hf-card-hl .hf-card-addr{color:var(--hf-hl-text,#14301a);opacity:.78}
.hf-card-hl .hf-card-contact a{color:var(--hf-hl-text,#14301a)}
.hf-card-hl .hf-card-contact a:hover{color:var(--hf-hl-text,#14301a);text-decoration:underline}

/* Bottom bar */
.hf-bottom{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;
	margin-top:40px;padding-top:20px;
	border-top:1px solid var(--hf-card-bd);
	font-size:13px;color:var(--hf-muted,#c9d6c3);
}
.hf-bl,.hf-social{display:flex;flex-wrap:wrap;gap:8px 20px}
.hf-bottom a{color:var(--hf-muted,#c9d6c3);transition:color .2s}
.hf-bottom a:hover{color:var(--hf-accent,#f2c14e)}
.hf-social a{
	padding:6px 14px;border-radius:999px;
	background:var(--hf-card);border:1px solid var(--hf-card-bd);
	color:var(--hf-text,#fff);font-weight:500;
}
.hf-social a:hover{color:var(--hf-accent,#f2c14e)}

@media (max-width:900px){
	.hf{padding-left:20px;padding-right:20px}
	.hf-cta{padding:24px}
}
@media (max-width:640px){
	.hf-title{font-size:var(--hf-hm,22px)}
	.hf-links{margin-top:40px;gap:30px}
	.hf-about{max-width:none}
	.hf-cards{margin-top:34px}
	.hf-bottom{flex-direction:column;align-items:flex-start}
}
