:root{
			--wghf-ink:#101817;
			--wghf-paper:#f8fcfb;
			--wghf-muted:#687775;
			--wghf-line:#c1d8d4;
			--wghf-green:#365f5c;
			--wghf-gold:#ffc640;
			--wghf-page-bg:var(--wb-canvas,#e2efed);
			--wghf-logo-bg:#14232c;

			--wb-hf-ink:#101817;
			--wb-hf-muted:#687775;
			--wb-hf-canvas:#e2efed;
			--wb-hf-paper:#f8fcfb;
			--wb-hf-paper-soft:#edf5f3;
			--wb-hf-line:#c1d8d4;
			--wb-hf-teal:#365f5c;
			--wb-hf-yellow:#ffc640;
			--wb-hf-sans:"Inter",Arial,sans-serif;
			--wb-hf-heading:"Montserrat Alternates","Inter",Arial,sans-serif;
			--wb-hf-serif:"Lora",Georgia,serif;
			--wb-hf-frame:min(1820px,calc(100vw - 28px));
			--wb-hf-radius:18px;
		}

		body.webbies-global-chrome{
			--wghf-admin-offset:0px;
		}

		body.admin-bar.webbies-global-chrome{
			--wghf-admin-offset:32px;
		}

		body.webbies-global-chrome #masthead,
		body.webbies-global-chrome .site-header,
		body.webbies-global-chrome header.elementor-location-header,
		body.webbies-global-chrome .elementor-location-header,
		body.webbies-global-chrome .wb-site-header{
			display:none!important;
		}

		body.webbies-global-chrome #colophon,
		body.webbies-global-chrome .site-footer,
		body.webbies-global-chrome footer.elementor-location-footer,
		body.webbies-global-chrome .elementor-location-footer,
		body.webbies-global-chrome .wb-footer{
			display:none!important;
		}

		.wghf-header,
		.wghf-header *,
		.wghf-footer,
		.wghf-footer *{
			box-sizing:border-box;
		}

		/* =========================
		   HEADER
		   ========================= */

		.wghf-header{
			position:fixed;
			z-index:9998;
			top:var(--wghf-admin-offset);
			left:0;
			width:100%;
			min-height:100px;
			pointer-events:none;
			font-family:"Montserrat Alternates",Inter,Arial,sans-serif;
		}

.wghf-logo{
	position:absolute;
	top:32px;
	left:0;
	z-index:2;
	display:grid;
	width:64px;
	height:64px;
	place-items:center;
	overflow:hidden;
	background:var(--wghf-logo-bg);
	color:#fff!important;
	border-radius:0 12px 12px 0;
	box-shadow:
		0 8px 22px rgba(20,35,44,.14),
		inset -1px 0 rgba(255,255,255,.08);
	text-decoration:none!important;
	pointer-events:auto;
	transition:transform .2s ease;
}

.wghf-logo:hover,
.wghf-logo:focus-visible{
	transform:translateX(3px);
}

		.wghf-logo__wordmark{
	display:inline-flex;
	align-items:flex-end;
	transform:translate(-1px,-1px);
}

.wghf-logo__letter{
	display:block;
	color:#fff;
	font-family:"Montserrat Alternates",Inter,Arial,sans-serif;
	font-size:2.7rem;
	font-weight:600;
	letter-spacing:-.14em;
	line-height:.86;
}

.wghf-logo__dot{
	display:block;
	width:7px;
	height:7px;
	margin-left:7px;
	margin-bottom:3px;
	border-radius:50%;
	background:#fff;
}

		.wghf-nav-wrap{
			display:flex;
			justify-content:center;
			padding:32px 88px 0;
		}

		.wghf-nav{
	position:relative;
	display:flex;
	width:auto;
	min-height:56px;
	align-items:center;
	justify-content:center;
	gap:18px;
	padding:0 18px;
	border-radius:0 8px 8px 8px;
	background:#fff;
	box-shadow:
		5px 5px 10px rgba(70,74,70,.28),
		0 1px 2px rgba(16,24,23,.06);
	pointer-events:auto;
	transition:
		transform .36s cubic-bezier(.22,1,.36,1),
		opacity .22s ease;
	will-change:transform;
}

		.wghf-nav:before{
			content:"";
			position:absolute;
			top:-13px;
			left:0;
			width:68px;
			height:14px;
			background:#fff;
			clip-path:polygon(0 100%,0 0,72% 0,100% 100%);
		}

		.wghf-nav.is-hidden{
			transform:translateY(calc(-100% - 40px));
			opacity:0;
			pointer-events:none;
		}

		.wghf-nav a{
			position:relative;
			z-index:1;
			color:#0d0d0d!important;
			font-family:"Montserrat Alternates",Inter,Arial,sans-serif;
			font-size:15px;
			font-weight:600;
			line-height:1;
			text-decoration:none!important;
			white-space:nowrap;
			transition:opacity .18s ease,transform .18s ease;
		}

		.wghf-nav a:hover,
		.wghf-nav a:focus-visible{
			opacity:.62;
			transform:translateY(-1px);
		}

		.wghf-logo:focus-visible,
		.wghf-nav a:focus-visible{
			outline:3px solid #e85c33;
			outline-offset:4px;
		}

		.wghf-header-spacer{
			width:100%;
			height:100px;
			pointer-events:none;
		}

		/* Full-width V2-style footer */
		.wb-global-footer-frame {
		    width: var(--wb-hf-frame);
		    margin: 14px auto 0;
		    overflow: hidden;
		    border: 1px solid var(--wb-hf-line);
		    border-radius: var(--wb-hf-radius);
		    background: var(--wb-hf-line);
		    box-shadow: 0 20px 70px rgba(33, 92, 82, .06);
		    color: var(--wb-hf-ink);
		    font: 400 16px/1.6 var(--wb-hf-sans);
		}
		
		.wb-global-footer-main {
		    display: grid;
		    grid-template-columns: 7fr 5fr;
		    gap: 1px;
		    background: var(--wb-hf-line);
		}
		
		.wb-global-footer-copy {
		    display: flex;
		    min-height: 520px;
		    flex-direction: column;
		    justify-content: flex-start;
		    padding: clamp(42px, 5vw, 82px);
		    background: var(--wb-hf-paper);
		}
		
		.wb-global-footer-kicker {
		    margin: 0;
		    color: var(--wb-hf-muted);
		    font-size: .72rem;
		    font-weight: 600;
		    letter-spacing: .09em;
		    text-transform: uppercase;
		}
		
		.wb-global-footer-copy h2 {
		    max-width: 950px;
		    margin: clamp(22px, 3vw, 38px) 0 0;
		    color: var(--wb-hf-ink);
		    font-family: var(--wb-hf-heading);
		    font-size: clamp(2.5rem, 4.4vw, 5.5rem);
		    font-weight: 600;
		    letter-spacing: -.045em;
		    line-height: 1.08;
		    text-wrap: balance;
		}
		
		.wb-global-footer-accent {
		    color: var(--wb-hf-teal);
		    font-family: var(--wb-hf-serif);
		    font-style: italic;
		    font-weight: 500;
		}
		
		.wb-global-footer-copy > p:not(.wb-global-footer-kicker) {
		    max-width: 680px;
		    margin: clamp(28px, 3.4vw, 48px) 0 0;
		    color: var(--wb-hf-muted);
		    font-size: 1rem;
		}
		
		.wb-global-footer-cta {
		    display: inline-flex;
		    width: max-content;
		    min-height: 54px;
		    align-items: center;
		    justify-content: center;
		    gap: 14px;
		    margin-top: 28px;
		    padding: 0 24px;
		    border-radius: 13px;
		    background: var(--wb-hf-yellow);
		    color: var(--wb-hf-ink);
		    font-family: var(--wb-hf-heading);
		    font-size: .9rem;
		    font-weight: 700;
		    text-decoration: none;
		    transition: transform .2s ease, box-shadow .2s ease;
		}
		
		.wb-global-footer-cta:hover {
		    transform: translateY(-2px);
		    box-shadow: 0 10px 24px rgba(16, 24, 23, .13);
		}
		
		.wb-global-footer-links-panel {
		    display: grid;
		    grid-template-columns: 1fr 1fr;
		    align-content: center;
		    gap: clamp(34px, 4vw, 64px);
		    padding: clamp(42px, 5vw, 82px);
		    background: var(--wb-hf-teal);
		    color: #fff;
		}
		
		.wb-global-footer-link-group h3,
		.wb-global-footer-contact h3 {
		    margin: 0;
		    color: #fff;
		    font-family: var(--wb-hf-heading);
		    font-size: clamp(1.05rem, 1.2vw, 1.35rem);
		    font-weight: 600;
		    letter-spacing: -.025em;
		}
		
		.wb-global-footer-links {
		    display: grid;
		    gap: 13px;
		    margin-top: 20px;
		}
		
		.wb-global-footer-links a {
		    width: max-content;
		    max-width: 100%;
		    color: rgba(255, 255, 255, .78);
		    font-size: 1rem;
		    text-decoration: none;
		}
		
		.wb-global-footer-links a:hover,
		.wb-global-footer-links a:focus-visible {
		    color: #fff;
		    text-decoration: underline;
		    text-underline-offset: 5px;
		}
		
		.wb-global-footer-contact {
		    grid-column: 1 / -1;
		    padding-top: 28px;
		    border-top: 1px solid rgba(255, 255, 255, .24);
		}
		
		.wb-global-footer-contact p {
		    max-width: 560px;
		    margin: 14px 0 0;
		    color: rgba(255, 255, 255, .72);
		    font-size: 1rem;
		}
		
		.wb-global-footer-contact-row {
		    display: flex;
		    flex-wrap: wrap;
		    gap: 12px 24px;
		    margin-top: 18px;
		}
		
		.wb-global-footer-contact-row a,
		.wb-global-footer-contact-row span {
		    color: #fff;
		    font-size: 1rem;
		    text-decoration: none;
		}
		
		.wb-global-footer-bottom {
		    display: flex;
		    justify-content: flex-start;
		    gap: 26px;
		    padding: 24px clamp(38px, 4vw, 64px);
		    border-top: 1px solid var(--wb-hf-line);
		    background: var(--wb-hf-paper);
		    color: var(--wb-hf-muted);
		    font-size: .88rem;
		}
		
		.wb-global-footer-bottom a {
		    text-decoration: none;
		}
		
		.wb-global-footer-frame a:focus-visible {
		    outline: 3px solid #e85c33;
		    outline-offset: 4px;
		}
		
		@media (max-width: 760px) {
		    :root {
		        --wb-hf-frame: calc(100vw - 16px);
		        --wb-hf-radius: 13px;
		    }
		
		    .wb-global-header {
		        top: 8px;
		        max-width: calc(100vw - 16px);
		        margin: 8px auto;
		    }
		
		    .wb-global-nav {
		        min-height: 50px;
		        padding: 6px;
		    }
		
		    .wb-global-nav__links {
		        display: none;
		    }
		
		    .wb-global-menu {
		        display: block;
		    }
		
		    .wb-global-footer-frame {
		        margin-top: 8px;
		    }
		
		    .wb-global-footer-main {
		        grid-template-columns: 1fr;
		    }
		
		    .wb-global-footer-copy {
		        min-height: 0;
		        padding: 38px 22px 40px;
		    }
		
		    .wb-global-footer-copy h2 {
		        margin-top: 20px;
		        font-size: clamp(2.05rem, 10vw, 2.75rem);
		        line-height: 1.08;
		    }
		
		    .wb-global-footer-copy h2 br {
		        display: none;
		    }
		
		    .wb-global-footer-copy > p:not(.wb-global-footer-kicker) {
		        margin-top: 24px;
		        font-size: .95rem;
		        line-height: 1.6;
		    }
		
		    .wb-global-footer-cta {
		        width: 100%;
		        justify-content: center;
		        margin-top: 22px;
		    }
		
		    .wb-global-footer-links-panel {
		        grid-template-columns: 1fr;
		        gap: 32px;
		        padding: 38px 22px;
		    }
		
		    .wb-global-footer-contact {
		        grid-column: auto;
		    }
		
		    .wb-global-footer-bottom {
		        align-items: flex-start;
		        flex-direction: column;
		        padding: 22px;
		    }
		}

		/* =========================
		   RESPONSIVE
		   ========================= */

@media(max-width:900px){

	.wghf-logo{
		display:none;
	}

	.wghf-nav-wrap{
		display:flex;
		justify-content:center;
		width:100%;
		padding:16px 14px 0;
	}

	.wghf-nav{
		width:auto;
		max-width:calc(100vw - 28px);
		min-height:56px;
		gap:16px;
		padding:0 20px;
		margin:0 auto;
	}

	.wghf-nav a{
		font-size:15px;
		font-weight:600;
	}

	.wghf-header-spacer{
		height:90px;
	}
}

@media(max-width:600px){

	body.admin-bar.webbies-global-chrome{
		--wghf-admin-offset:46px;
	}
}

@media(max-width:430px){

	.wghf-nav-wrap{
		padding:14px 10px 0;
	}

	.wghf-nav{
		width:auto;
		max-width:calc(100vw - 20px);
		min-height:54px;
		gap:12px;
		padding:0 16px;
		margin:0 auto;
	}

	.wghf-nav a{
		font-size:14px;
		font-weight:600;
	}
}

		@media(prefers-reduced-motion:reduce){
			.wghf-nav,
			.wghf-nav *,
			.wghf-footer *{
				scroll-behavior:auto!important;
				transition:none!important;
			}
		}
		
/* =========================================================
   WEBBIES GLOBAL FOOTER — MATCH EDITORIAL PAGE FRAME
   Paste at the very end of the master header/footer CSS
   ========================================================= */

/*
 * Editorial pages already define --wb-frame according to
 * their desktop, tablet and mobile layout.
 *
 * The global footer inherits that same variable so its outer
 * edges align exactly with the page sections above it.
 */
body.page-template-webbies-editorial .wb-global-footer-frame {
	width:var(--wb-frame,var(--wb-hf-frame));
	max-width:var(--wb-frame,var(--wb-hf-frame));
	margin-right:auto;
	margin-left:auto;
}

/* Desktop spacing matches the Hamilton editorial layout. */
@media (min-width:1101px) {

	body.page-template-webbies-editorial .wb-global-footer-frame {
		margin-top:var(--wb-editorial-section-gap,24px);
		border-radius:var(--wb-radius,var(--wb-hf-radius));
		box-shadow:
			0 18px 55px rgba(33,92,82,.045),
			0 1px 0 rgba(255,255,255,.65) inset;
	}
}

/* Tablet uses the same 32px total frame inset as the page. */
@media (min-width:761px) and (max-width:1100px) {

	body.page-template-webbies-editorial .wb-global-footer-frame {
		width:var(--wb-frame,calc(100vw - 32px));
		max-width:var(--wb-frame,calc(100vw - 32px));
		margin-top:16px;
		border-radius:var(--wb-radius,18px);
	}
}

/* Mobile remains aligned with the existing 8px side gutters. */
@media (max-width:760px) {

	body.page-template-webbies-editorial .wb-global-footer-frame {
		width:var(--wb-frame,calc(100vw - 16px));
		max-width:var(--wb-frame,calc(100vw - 16px));
		margin-top:8px;
		border-radius:var(--wb-radius,13px);
	}
}
