/* WHT final editorial system — Home v0.2.56 */
body.wht-home-code-page .site-header,
body.wht-home-code-page #masthead,
body.wht-home-code-page .elementor-location-header,
body.wht-home-code-page .wht-home-code-mobile-header-layer {
	display: none !important;
}

body.wht-home-code-page { margin: 0; background: #fffdf8; }
body.wht-home-unified-menu-open { overflow: hidden; }

.wht-home-code {
	--wht-radius: 8px;
	--wht-navy: #071624;
	--wht-navy-soft: #123047;
	--wht-paper: #fffdf8;
	--wht-cream: #f7f3ea;
	--wht-olive: #596f43;
	--wht-olive-dark: #34462c;
	--wht-gold: #d7c89d;
	--wht-ink: #24221f;
	--wht-muted: #686860;
	--wht-line: rgba(36, 34, 31, .13);
	--wht-shadow-soft: 0 18px 42px rgba(7,22,36,.055);
	--wht-shadow-card: 0 22px 50px rgba(7,22,36,.075);
	position: relative;
	font-size: 16px;
	line-height: 1.65;
}

/* Bespoke integrated header */
.wht-home-unified-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 900;
	width: 100%;
	background: linear-gradient(180deg, rgba(7,22,36,.84), rgba(7,22,36,.42) 60%, transparent);
	color: #fffdf8;
	font-family: "Instrument Sans", Arial, sans-serif;
}

.wht-home-unified-header *,
.wht-home-unified-header *::before,
.wht-home-unified-header *::after { box-sizing: border-box; }

.wht-home-unified-header__inner {
	display: flex;
	min-height: 96px;
	align-items: center;
	gap: clamp(18px,2.4vw,38px);
	padding: 18px clamp(24px,3.2vw,64px);
}

.wht-home-unified-header__logo {
	display: inline-flex;
	flex: 0 0 auto;
	width: clamp(220px,18vw,320px);
	min-width: 220px;
}

.wht-home-unified-header__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 52px;
	object-fit: contain;
}

.wht-home-unified-header__nav {
	display: flex;
	align-items: center;
	gap: clamp(18px,2vw,34px);
	margin-left: auto;
}

.wht-home-unified-header__group { position: relative; }
.wht-home-unified-header__group > button,
.wht-home-unified-header__shop {
	position: relative;
	padding: 12px 0;
	border: 0;
	background: transparent;
	color: #fffdf8;
	font: 750 .86rem/1.2 "Instrument Sans", Arial, sans-serif;
	text-decoration: none;
	cursor: pointer;
}

.wht-home-unified-header__group > button::after {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 0 3px 8px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	content: "";
}

.wht-home-unified-header__submenu {
	position: absolute;
	top: calc(100% + 6px);
	left: -16px;
	z-index: 10;
	display: none;
	min-width: 270px;
	margin: 0;
	padding: 10px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 8px;
	background: rgba(7,22,36,.98);
	box-shadow: 0 18px 40px rgba(0,0,0,.22);
	list-style: none;
}

.wht-home-unified-header__group:hover .wht-home-unified-header__submenu,
.wht-home-unified-header__group:focus-within .wht-home-unified-header__submenu,
.wht-home-unified-header__group.is-open .wht-home-unified-header__submenu { display: block; }
.wht-home-unified-header__submenu li { margin: 0; }
.wht-home-unified-header__submenu a {
	display: block;
	padding: 11px 13px;
	border-radius: 6px;
	color: #fffdf8;
	font-size: .86rem;
	text-decoration: none;
}
.wht-home-unified-header__submenu a:hover,
.wht-home-unified-header__submenu a:focus-visible { background: rgba(255,255,255,.10); }

.wht-home-unified-header__actions { display: flex; align-items: center; gap: 10px; }
.wht-home-unified-header__social,
.wht-home-unified-header__hamburger {
	display: inline-flex;
	width: 50px;
	height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	background: rgba(7,22,36,.14);
	color: #fffdf8;
}
.wht-home-unified-header__social svg { width: 18px; height: 18px; fill: currentColor; }
.wht-home-unified-header__hamburger { display: none; border-radius: 8px; cursor: pointer; }
.wht-home-unified-header__hamburger span { display: block; width: 24px; height: 2px; margin: 3px 0; background: currentColor; }
.wht-home-unified-header__contact {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	padding: 0 24px;
	border: 1px solid #fffdf8;
	border-radius: 8px;
	background: #fffdf8;
	color: #071624;
	font-size: .78rem;
	font-weight: 800;
	text-decoration: none;
}

/* The theme uses broad !important rules for header links; preserve CTA contrast. */
body.wht-home-code-page .wht-home-unified-header .wht-home-unified-header__contact:link,
body.wht-home-code-page .wht-home-unified-header .wht-home-unified-header__contact:visited,
body.wht-home-code-page .wht-home-unified-header .wht-home-unified-header__contact:hover,
body.wht-home-code-page .wht-home-unified-header .wht-home-unified-header__contact:focus-visible {
	border-color: #fffdf8 !important;
	background: #fffdf8 !important;
	color: #071624 !important;
	-webkit-text-fill-color: #071624 !important;
	opacity: 1 !important;
	text-shadow: none !important;
	mix-blend-mode: normal !important;
}

.wht-home-unified-mobile-panel {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 950;
	width: min(88vw,390px);
	height: 100dvh;
	padding: 76px 24px 32px;
	background: #071624;
	box-shadow: -18px 0 42px rgba(0,0,0,.28);
	overflow-y: auto;
}
.wht-home-unified-mobile-panel__close { position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; background: transparent; color: #fff; font-size: 1.8rem; }
.wht-home-unified-mobile-panel ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.wht-home-unified-mobile-panel a { display: block; padding: 13px 14px; border-radius: 6px; color: #fffdf8; font-weight: 700; text-decoration: none; }
body.wht-home-code-page .wht-home-unified-mobile-panel li:last-child a,
body.wht-home-code-page .wht-home-unified-mobile-panel li:last-child a:link,
body.wht-home-code-page .wht-home-unified-mobile-panel li:last-child a:visited,
body.wht-home-code-page .wht-home-unified-mobile-panel li:last-child a:hover,
body.wht-home-code-page .wht-home-unified-mobile-panel li:last-child a:focus-visible {
	margin-top: 10px;
	border-color: #fffdf8 !important;
	background: #fffdf8 !important;
	color: #071624 !important;
	-webkit-text-fill-color: #071624 !important;
	opacity: 1 !important;
	text-shadow: none !important;
	mix-blend-mode: normal !important;
	text-align: center;
}

/* Hero */
.wht-home-code__hero { min-height: clamp(700px,80vh,860px); }
.wht-home-code__hero-overlay {
	background:
		linear-gradient(90deg,rgba(6,20,32,.93) 0%,rgba(6,20,32,.74) 42%,rgba(6,20,32,.24) 74%,rgba(6,20,32,.42) 100%),
		linear-gradient(180deg,rgba(6,20,32,.10),rgba(6,20,32,.54));
}
.wht-home-code__hero-inner {
	width: min(1320px,calc(100% - clamp(40px,6.4vw,128px)));
	padding-top: clamp(172px,17vh,216px);
	padding-bottom: clamp(84px,9vh,116px);
}
.wht-home-code__brand-lockup { margin-bottom: 18px; color: var(--wht-gold); }
.wht-home-code__brand-name { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wht-home-code__hero h1 {
	max-width: 12ch;
	font-family: "Fraunces",Georgia,serif;
	font-size: clamp(4rem,6.35vw,6.35rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.04em;
}
.wht-home-code__hero-copy { max-width: 700px; font-size: clamp(1.08rem,1.35vw,1.28rem); font-weight: 520; line-height: 1.62; }
.wht-home-code__hero-actions { gap: 12px; }
.wht-home-code__button { min-height: 54px; padding-inline: 28px; border-radius: 8px; font-size: .88rem; font-weight: 800; }
.wht-home-code__button--primary,
.wht-home-code__button--primary:hover { box-shadow: none; }

/* Editorial content */
.wht-home-code__container { width: min(1320px,calc(100% - clamp(40px,6.4vw,128px))); }
.wht-home-code__section { padding-block: clamp(88px,8.2vw,132px); }
.wht-home-code__section-heading h2,
.wht-home-code__request h2,
.wht-home-code__why h2 { font-family: "Fraunces",Georgia,serif; font-size: clamp(2.65rem,4.2vw,4.65rem); line-height: 1.02; letter-spacing: -.035em; }

.wht-home-code__button,
.wht-home-code__tour-card,
.wht-home-code__tour-image-wrap,
.wht-home-code__platform-panel,
.wht-home-code__platform-item,
.wht-home-code__review-card,
.wht-home-code__why-photo,
.wht-home-code__why-list li,
.wht-home-code__route,
.wht-home-code__request-form,
.wht-home-code__field input,
.wht-home-code__field textarea,
.wht-home-code__request-form--cf7 :is(input:not([type="submit"]),textarea,select) { border-radius: 8px; }

.wht-home-code__tour-card,
.wht-home-code__platform-panel,
.wht-home-code__review-card,
.wht-home-code__why-photo,
.wht-home-code__why-list li,
.wht-home-code__request-form { border: 1px solid var(--wht-line); box-shadow: var(--wht-shadow-soft); }

.wht-home-code__tour-card { background: #fff; }
.wht-home-code__tour-card:hover { transform: translateY(-2px); box-shadow: var(--wht-shadow-card); }
.wht-home-code__tour-card .wht-home-code__text-link { border-radius: 8px; box-shadow: none; }
.wht-home-code__platform-panel { background: #fffdf8; }
.wht-home-code__platform-item { border-radius: 8px; box-shadow: none; }
.wht-home-code__review-card { background: #fff; }

.wht-home-code__section--navy { background: #071624; }
.wht-home-code__route { border: 1px solid rgba(255,255,255,.14); border-radius: 8px; box-shadow: 0 18px 42px rgba(0,0,0,.13); }
.wht-home-code__route:hover { transform: translateY(-2px); box-shadow: 0 24px 52px rgba(0,0,0,.18); }
.wht-home-code__route .wht-home-code__text-link { border-radius: 8px; }
.wht-home-code__section--request { background: #f5f1e8; }
.wht-home-code__request { align-items: start; }
.wht-home-code__form-message,
.wht-home-code__self-test-result { border-radius: 8px; }

@media (max-width: 1199px) {
	.wht-home-unified-header {
		background: linear-gradient(180deg, rgba(7,22,36,.96), rgba(7,22,36,.84));
	}
	.wht-home-unified-header__inner { min-height: 82px; padding: 12px 20px; gap: 10px; }
	.wht-home-unified-header__logo { width: clamp(145px,30vw,190px); min-width: 0; }
	.wht-home-unified-header__logo img { max-height: 34px; }
	.wht-home-unified-header__nav,
	.wht-home-unified-header__contact { display: none; }
	.wht-home-unified-header__actions { margin-left: auto; }
	.wht-home-unified-header__hamburger { display: inline-flex; flex-direction: column; }
}

@media (max-width: 720px) {
	.wht-home-code__hero { min-height: 760px; align-items: end; }
	.wht-home-code__hero-overlay {
		background:
			linear-gradient(180deg,rgba(7,22,36,.62) 0%,rgba(7,22,36,.56) 37%,rgba(7,22,36,.94) 74%,#071624 100%),
			linear-gradient(90deg,rgba(7,22,36,.36),rgba(7,22,36,.08));
	}
	.wht-home-code__hero-inner { width: min(100% - 40px,620px); padding: 150px 0 54px; }
	.wht-home-code__hero h1 { max-width: 10ch; font-size: clamp(3.35rem,15vw,4.65rem); line-height: .94; }
	.wht-home-code__hero-copy { max-width: 34ch; font-size: 1rem; line-height: 1.58; }
	.wht-home-code__hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; gap: 12px; }
	.wht-home-code__hero-actions .wht-home-code__button { width: 100%; min-height: 56px; }
	.wht-home-code__container { width: min(100% - 40px,620px); }
	.wht-home-code__section { padding-block: 72px; }
	.wht-home-code__section-heading h2,
	.wht-home-code__request h2,
	.wht-home-code__why h2 { font-size: clamp(2.45rem,11vw,3.45rem); }
}

@media (max-width: 430px) {
	.wht-home-unified-header__inner { padding-inline: 14px; gap: 8px; }
	.wht-home-unified-header__logo { width: clamp(128px,34vw,158px); }
	.wht-home-unified-header__hamburger,
	.wht-home-unified-header__social { width: 46px; height: 46px; }
}

@media (max-width: 370px) {
	.wht-home-unified-header__logo { width: 118px; }
	.wht-home-unified-header__hamburger,
	.wht-home-unified-header__social { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
	.wht-home-code *, .wht-home-code *::before, .wht-home-code *::after { scroll-behavior: auto !important; transition: none !important; }
}
