/** Shared Wiscohana masthead. Canonical reference: rendered Narrows, September 7, 2026.
 * Blocksy owns markup, asset switching, sticky state, Search and navigation. */

/* Blocksy's fluid header row receives Wiscohana's real maximum and edge rail. */
body.wiscohana-blocksy-shell #header .ct-container-fluid {
	width: min(
		calc(100% - (2 * var(--wiscohana-edge))),
		var(--wiscohana-width-site-max)
	);
}

/* Blocksy's native Logo element supplies the production SVG assets. */
body.wiscohana-blocksy-shell #header [data-id="logo"] {
	min-width: 0;
	color: var(--wiscohana-color-inverse);
}

body.wiscohana-blocksy-shell #header .site-logo-container {
	line-height: 0;
}

body.wiscohana-blocksy-shell #header .site-logo-container :is(img, svg) {
	width: auto;
	height: auto;
	max-width: 100%;
}

/* The native Logo element can retain an empty Site Title container after an
 * image is selected; remove that text-only node without altering the logo
 * asset or Blocksy's state switching. */
body.wiscohana-blocksy-shell #header .site-title-container {
	display: none;
}

/* Native Blocksy primary menu and text-labelled Search element. */
body.wiscohana-blocksy-shell #header :is(.menu, .ct-header-search) {
	font-family: var(--wiscohana-font-interface);
}

body.wiscohana-blocksy-shell #header .menu {
	column-gap: clamp(1.5rem, 2.6vw, 2.75rem);
}

body.wiscohana-blocksy-shell #header .menu > li > .ct-menu-link,
body.wiscohana-blocksy-shell #header .ct-header-search {
	position: relative;
	min-height: 2.75rem;
	padding-inline: 0;
	color: var(--wiscohana-color-inverse);
	font-family: var(--wiscohana-font-interface);
	font-size: 1.05rem;
	font-weight: 650;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}

/* Keep Blocksy's native desktop Search label typographically identical to
 * the adjacent primary-menu links while preserving the native button/modal. */
body.wiscohana-blocksy-shell #header [data-device="desktop"] .ct-header-search .ct-label {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

/* Native mobile row and trigger. */
body.wiscohana-blocksy-shell #header .ct-header-trigger {
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	color: var(--wiscohana-color-inverse);
}

body.wiscohana-blocksy-shell #header .ct-header-trigger .ct-icon {
	--theme-icon-size: 1.5rem;
	--theme-icon-color: currentColor;
}

body.wiscohana-blocksy-shell #header .ct-header-search {
	min-width: 4.75rem;
	opacity: 1;
}

/* Full-screen modal styling for Blocksy's native #offcanvas dialog. */
body.wiscohana-blocksy-shell #offcanvas[data-behaviour="modal"] {
	--theme-text-color: var(--wiscohana-color-inverse);
	--theme-link-initial-color: var(--wiscohana-color-inverse);
	--theme-link-hover-color: var(--wiscohana-color-inverse);
	--panel-padding: clamp(1.25rem, 5.5vw, 1.5rem);
	background: #111;
	color: var(--wiscohana-color-inverse);
}

body.wiscohana-blocksy-shell #offcanvas[data-behaviour="modal"] .ct-panel-actions {
	position: absolute;
	z-index: 2;
	top: max(0.625rem, env(safe-area-inset-top));
	right: var(--wiscohana-edge-mobile);
	padding: 0;
}

body.wiscohana-blocksy-shell #offcanvas .ct-toggle-close {
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	margin: 0;
	color: var(--wiscohana-color-inverse);
}

body.wiscohana-blocksy-shell #offcanvas .ct-toggle-close .ct-icon {
	--theme-icon-color: currentColor;
}

body.wiscohana-blocksy-shell #offcanvas[data-behaviour="modal"] .ct-panel-content,
body.wiscohana-blocksy-shell #offcanvas[data-behaviour="modal"] .ct-panel-content-inner {
	width: 100%;
	height: 100%;
	min-height: 100dvh;
}

body.wiscohana-blocksy-shell #offcanvas[data-behaviour="modal"] .ct-panel-content-inner {
	align-items: stretch;
	overflow-y: auto;
	padding:
		calc(max(0.75rem, env(safe-area-inset-top)) + var(--wiscohana-header-height-mobile))
		var(--wiscohana-edge-mobile)
		max(var(--wiscohana-space-6), env(safe-area-inset-bottom));
}

body.wiscohana-blocksy-shell #offcanvas .mobile-menu {
	width: 100%;
	font-family: var(--wiscohana-font-interface);
}

body.wiscohana-blocksy-shell #offcanvas .mobile-menu > ul {
	display: grid;
	gap: var(--wiscohana-space-1);
}

body.wiscohana-blocksy-shell #offcanvas .mobile-menu > ul > li > a {
	display: inline-flex;
	min-height: 3.5rem;
	align-items: center;
	padding: 0;
	color: var(--wiscohana-color-inverse);
	font-family: var(--wiscohana-font-interface);
	font-size: clamp(1.5rem, 7vw, 1.875rem);
	font-weight: 650;
	letter-spacing: normal;
	text-transform: uppercase;
	line-height: 1.05;
	text-decoration: none;
}

body.wiscohana-blocksy-shell #offcanvas .mobile-menu > ul > li:is(.current-menu-item, .current_page_item) > a {
	color: var(--wiscohana-color-inverse);
	font-weight: 700;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__extras {
	display: flex;
	width: 100%;
	min-height: 18rem;
	flex: 1;
	flex-direction: column;
	margin-block-start: clamp(1.75rem, 5vh, 3.5rem);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search {
	width: 100%;
	max-width: 42rem;
	font-family: var(--wiscohana-font-interface);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search label {
	display: block;
	margin-block-end: var(--wiscohana-space-3);
	color: var(--wiscohana-color-inverse);
	font-family: var(--wiscohana-font-interface);
	font-size: 1rem;
	font-weight: 650;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border: 1px solid rgb(245 245 245 / 52%);
	border-radius: 2px;
	background: rgb(245 245 245 / 7%);
	transition: border-color var(--wiscohana-transition-quick), background-color var(--wiscohana-transition-quick);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search-row:focus-within {
	border-color: var(--wiscohana-color-inverse);
	background: rgb(245 245 245 / 11%);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search input {
	min-height: 3.25rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wiscohana-color-inverse);
	font-family: var(--wiscohana-font-interface);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search input {
	padding-inline: var(--wiscohana-space-3);
	font-size: 1.2rem;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__search input::placeholder {
	color: var(--wiscohana-color-inverse-muted);
	opacity: 1;
}


body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__lower {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wiscohana-space-6);
	min-height: 18rem;
	padding-block-start: 0;
	margin-block-start: clamp(2rem, 6vh, 3rem);
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__eyebrow {
	margin-block-end: var(--wiscohana-space-3);
	color: var(--wiscohana-color-inverse-muted);
	font-family: var(--wiscohana-font-interface);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__utility-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wiscohana-space-3) var(--wiscohana-space-5);
	padding: 0;
	margin: 0;
	list-style: none;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__utility-list a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: var(--wiscohana-color-inverse);
	font-family: var(--wiscohana-font-interface);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
}

body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__brand {
	width: min(12rem, 100%);
	height: auto;
	margin: auto 0 0;
}

body.wiscohana-blocksy-shell.wiscohana-masthead {
	--wiscohana-masthead-edge-desktop: 2.1875rem; /* 35px live-reference rail; masthead only. */
	--wiscohana-masthead-expanded: 6.5rem;
	--wiscohana-masthead-reduced: 4.125rem;
	--wiscohana-masthead-mobile-expanded: 4.75rem;
	--wiscohana-masthead-mobile-reduced: 4rem;

}

/* Keep the native WordPress toolbar and masthead on a single top edge. */
html:has(body.wiscohana-blocksy-shell.wiscohana-masthead.admin-bar) {
	margin-block-start: var(--wp-admin--admin-bar--height, 32px) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead.admin-bar #wpadminbar {
	display: block !important;
	position: fixed !important;
}

/* Blocksy intentionally drops its admin-bar offset below 600px because core
 * WordPress normally lets the mobile toolbar scroll away. The shared masthead
 * keeps the toolbar fixed, so use WordPress's responsive 32px/46px
 * height token as the one offset source at every authenticated breakpoint. */
body.wiscohana-blocksy-shell.wiscohana-masthead.admin-bar {
	--admin-bar: var(--wp-admin--admin-bar--height, 32px);
}

/* Restore Blocksy's native fixed/sticky shell above transitional prototypes.
 * Blocksy changes the value from fixed:shrink to yes:shrink after activation,
 * so the correction must follow the element rather than one transient value. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header .ct-sticky-container > [data-sticky] {
	position: fixed !important;
	top: calc(var(--admin-bar, 0px) + var(--theme-frame-size, 0px) + var(--header-sticky-offset, 0px)) !important;
	right: calc(var(--theme-frame-size, 0px) + var(--scrollbar-width, 0px)) !important;
	left: var(--theme-frame-size, 0px) !important;
}

/* Keep translucency without compositing a viewport-wide live blur layer. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-row*="middle"] {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

/* Expanded Story masthead: Wiscohana at left, navigation and Search at right. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-row*="middle"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .ct-container-fluid {
	height: var(--wiscohana-masthead-expanded) !important;
	min-height: var(--wiscohana-masthead-expanded) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-row*="middle"] {
	--theme-backdrop-blur: 7px;
}

/* Preserve the approved native two-column placement. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-column="start"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-column="end"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-column="end"] > [data-items],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] #header-menu-1,
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] #header-menu-1 > .menu {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] #header-menu-1 .menu-item,
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .ct-header-search {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .site-branding {
	width: min(18.75rem, 36vw);
	max-width: 18.75rem;
	min-height: 4rem;
	align-items: center;
	justify-content: center;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .site-logo-container {
	width: min(18.75rem, 36vw);
	max-width: 18.75rem;
	min-height: 0;
	display: flex;
	align-items: center;
}

/* Approved navigation typography. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .menu > li > .ct-menu-link,
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .ct-header-search {
	min-height: 2.75rem;
	font-size: 1.05rem;
	font-weight: 650;
	letter-spacing: normal;
	text-transform: uppercase;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] .ct-header-search .ct-label {
	text-transform: inherit;
}

/* Reduced state keeps the photograph perceptible and swaps to the wordmark. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-sticky*="yes"] [data-row*="middle"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-sticky*="yes"] .ct-container-fluid {
	height: var(--wiscohana-masthead-reduced) !important;
	min-height: var(--wiscohana-masthead-reduced) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-sticky*="yes"] [data-row*="middle"] {
	--theme-backdrop-blur: 5px;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-sticky*="yes"] .site-branding,
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="desktop"] [data-sticky*="yes"] .site-logo-container {
	width: min(14.5rem, 32vw);
	max-width: 14.5rem;
}

/* Tablet/mobile uses the approved logo states and native menu recovery path.
 * Blocksy writes the configured reduced height onto its sticky placeholder
 * before E01's expanded row override is resolved. That left the initial mobile
 * shell with a 64px outer paint box around a 76px row. Keep the placeholder and
 * fixed shell on the same stateful geometry. */
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] .ct-sticky-container {
	height: var(--wiscohana-masthead-mobile-expanded) !important;
	min-height: var(--wiscohana-masthead-mobile-expanded) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] .ct-sticky-container:has(> [data-sticky*="yes"]) {
	height: var(--wiscohana-masthead-mobile-reduced) !important;
	min-height: var(--wiscohana-masthead-mobile-reduced) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-row*="middle"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] .ct-container-fluid {
	height: var(--wiscohana-masthead-mobile-expanded) !important;
	min-height: var(--wiscohana-masthead-mobile-expanded) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-row*="middle"] {
	--theme-backdrop-blur: 7px;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] .site-branding {
	width: min(11.8125rem, 56.7vw);
	max-width: 11.8125rem;
	min-height: 0;
	align-items: center;
	justify-content: center;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] .site-logo-container {
	width: min(11.8125rem, 56.7vw);
	max-width: 11.8125rem;
	min-height: 0;
	display: flex;
	align-items: center;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-sticky*="yes"] [data-row*="middle"],
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-sticky*="yes"] .ct-container-fluid {
	height: var(--wiscohana-masthead-mobile-reduced) !important;
	min-height: var(--wiscohana-masthead-mobile-reduced) !important;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-sticky*="yes"] [data-row*="middle"] {
	--theme-backdrop-blur: 5px;
}

body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-sticky*="yes"] .site-branding,
body.wiscohana-blocksy-shell.wiscohana-masthead
	#header [data-device="mobile"] [data-sticky*="yes"] .site-logo-container {
	width: min(10.25rem, 50vw);
	max-width: 10.25rem;
}

/* Non-overlay surfaces reserve the expanded desktop masthead in normal flow.
 * Mobile already uses the shared stateful placeholder above. */
body.wiscohana-blocksy-shell.wiscohana-masthead.wiscohana-masthead--solid
	#header [data-device="desktop"] .ct-sticky-container {
	height: var(--wiscohana-masthead-expanded) !important;
}

/* All contexts retain shared geometry and native interaction rules. */
body.wiscohana-blocksy-shell.wiscohana-masthead #header [data-row*="middle"] {
 --theme-box-shadow: none;
 --theme-border-top: none;
 --theme-border-bottom: none;
 color: var(--wiscohana-color-inverse-muted);
 transition: background-color var(--wiscohana-transition-quick), backdrop-filter var(--wiscohana-transition-quick);
}
/* Preserve the overlay placeholder. Desktop uses the measured live-site outer
 * rails across every context; no body/content width token is changed. */
@media (min-width: 62.5rem) {
 body.wiscohana-blocksy-shell.wiscohana-masthead.wiscohana-masthead--overlay #header [data-device="desktop"] .ct-sticky-container { height: 4rem !important; min-height: 4rem; }
 body.wiscohana-blocksy-shell.wiscohana-masthead #header [data-device="desktop"] .ct-container-fluid { position: relative; width: calc(100% - (2 * var(--wiscohana-masthead-edge-desktop))); max-width: none; }
 body.wiscohana-blocksy-shell.wiscohana-masthead #header [data-device="desktop"] [data-column="start"] { z-index: 2; }
}
@media (max-width: 64rem) {
 body.wiscohana-blocksy-shell #header .ct-container-fluid { width: calc(100% - (2 * var(--wiscohana-edge))); }
}
@media (max-height: 31rem) and (orientation: landscape) {
 body.wiscohana-blocksy-shell.wiscohana-masthead { --wiscohana-masthead-mobile-expanded: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
 body.wiscohana-blocksy-shell.wiscohana-masthead #header :is([data-row*="middle"], .site-branding, .site-logo-container) { transition-duration: 0.01ms; }
}
@media (prefers-reduced-motion: reduce) {
	body.wiscohana-blocksy-shell #header [data-row*="middle"],
	body.wiscohana-blocksy-shell #header .menu > li > .ct-menu-link::after,
	body.wiscohana-blocksy-shell #header .ct-header-search::after {
		transition-duration: 0.01ms;
	}
}

@media (max-width: 48.875rem) {
	body.wiscohana-blocksy-shell #offcanvas .wiscohana-offcanvas__lower {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Dark navigation controls keep neutral contrast in native Blocksy states. */
body.wiscohana-blocksy-shell :is(#header, #offcanvas) {
	--theme-link-hover-color: var(--wiscohana-color-inverse);
	--theme-icon-hover-color: var(--wiscohana-color-inverse);
}
body.wiscohana-blocksy-shell #header :is(.ct-header-trigger, .ct-header-search):is(:hover, :active, :focus-visible),
body.wiscohana-blocksy-shell #offcanvas .mobile-menu a:is(:hover, :active) {
	color: var(--wiscohana-color-inverse);
	--theme-icon-color: currentColor;
}

/* One uniform translucent surface across the actual native masthead row.
 * Context selects placement only. Keep the wrapper clear so opacity never stacks.
 * 54% is the lowest whole-percent black opacity that passes rendered white-text
 * contrast on white; the previous fade layer and all stop tuning are removed. */
body.wiscohana-blocksy-shell.wiscohana-masthead
 #header .ct-sticky-container > [data-sticky] {
 background: transparent !important;
 box-shadow: none !important;
}
body.wiscohana-blocksy-shell.wiscohana-masthead
 #header [data-row*="middle"] {
 background: rgb(0 0 0 / 54%) !important;
 box-shadow: none !important;
}
