/* Hadof Content System 2.5.1 — homepage composition repair. */
.hadof-x3-home { --hh-shell: 1320px; overflow: clip; }
.hadof-x3-home .hx-shell { max-width: var(--hh-shell); width: min(calc(100% - 48px),var(--hh-shell)); }

/* The legacy off-screen placeholder reserved 760px for every chapter and hid
   content until intersection. Homepage sections must use their real height. */
body .hadof-x3-home > section {
	contain-intrinsic-size: none !important;
	content-visibility: visible !important;
}
html.hx-motion-ready .hadof-x3-home > section[data-hx-reveal] {
	opacity: 1 !important;
	transform: none !important;
}

/* Full-bleed image hero with one contained copy column. */
.hadof-x3-home .hx-hero { background: #0b121a; }
.hadof-x3-home .hx-hero__grid {
	display: grid;
	grid-template-columns: 1fr !important;
	height: auto !important;
	isolation: isolate;
	margin: 0;
	max-width: none !important;
	min-height: clamp(540px,68vh,650px) !important;
	position: relative;
	width: 100% !important;
}
.hadof-x3-home .hx-hero__grid::after {
	background: linear-gradient(90deg,rgba(7,13,18,.9) 0%,rgba(7,13,18,.7) 42%,rgba(7,13,18,.18) 78%,rgba(7,13,18,.08) 100%);
	content: "";
	grid-area: 1/1;
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
.hadof-x3-home .hx-hero__media {
	grid-area: 1/1;
	height: 100%;
	margin: 0;
	min-height: inherit;
	width: 100%;
}
.hadof-x3-home .hx-hero__media img { height: 100%; object-fit: cover; object-position: center 56%; width: 100%; }
.hadof-x3-home .hx-hero__copy {
	align-content: center;
	grid-area: 1/1;
	justify-self: center;
	max-width: var(--hh-shell);
	padding: clamp(4rem,7vw,6rem) 0;
	position: relative;
	width: min(calc(100% - 48px),var(--hh-shell)) !important;
	z-index: 2;
}
.hadof-x3-home .hx-hero__copy > * { max-width: 680px; }
.hadof-x3-home .hx-hero h1 { font-size: clamp(3rem,4.5vw,4.35rem); max-width: 12ch; }
.hadof-x3-home .hx-hero__basis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 760px; }

/* Event is a compact editorial feature, not a second hero. */
.hadof-x3-home .hx-home-event {
	display: grid;
	grid-template-columns: minmax(0,1.12fr) minmax(480px,.88fr);
	margin: clamp(3rem,5vw,4.5rem) auto;
	max-width: 1240px;
	min-height: 0;
	overflow: hidden;
	width: calc(100% - 48px);
}
.hadof-x3-home .hx-home-event__visual { align-content: center; background: #eef1f3; min-height: 0; padding: clamp(1rem,2vw,1.5rem); }
.hadof-x3-home .hx-home-event__visual img { height: auto; max-height: none; object-fit: contain; width: 100%; }
.hadof-x3-home .hx-home-event__copy { padding: clamp(2rem,3.2vw,3rem); }
.hadof-x3-home .hx-home-event__copy h2 { font-size: clamp(2rem,2.7vw,2.75rem); max-width: 18ch; }
.hadof-x3-home .hx-home-event__copy > p:not(.hx-eyebrow) { line-height: 1.55; }
.hadof-x3-home .hx-home-event__facts { margin-block: .8rem 1.15rem; }

/* Consistent section cadence and compact introductions. */
.hadof-x3-home .hx-section { padding-block: clamp(4rem,6vw,5.5rem); }
.hadof-x3-home .hx-section-head { align-items: end; gap: 3rem; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); margin-bottom: 2.4rem; }
.hadof-x3-home .hx-section-head h2 { font-size: clamp(2.15rem,3.1vw,3.25rem); max-width: 16ch; }
.hadof-x3-home .hx-section-head > p,.hadof-x3-home .hx-carousel-meta { justify-self: end; max-width: 560px; }

/* Route selection: tabs above one balanced panel. */
.hadof-x3-home .hx-route-console { display: grid; grid-template-columns: 1fr; overflow: hidden; }
.hadof-x3-home .hx-route-console__tabs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.hadof-x3-home .hx-route-console__tabs button { border-bottom: 0; border-right: 1px solid rgba(255,255,255,.13); min-height: 82px; padding: .8rem 1rem; }
.hadof-x3-home .hx-route-console__tabs button[aria-selected="true"] { padding-left: 1rem; }
.hadof-x3-home .hx-route-console__tabs button[aria-selected="true"]::before { height: 4px; inset: auto 0 0; width: auto; }
.hadof-x3-home .hx-route-console__panels,.hadof-x3-home .hx-route-console__panels > article { min-height: 0; overflow: visible; }
.hadof-x3-home .hx-route-console__panels > article[data-active] { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); }
.hadof-x3-home .hx-route-console figure { min-height: 430px; }
.hadof-x3-home .hx-route-console article > div { min-width: 0; padding: clamp(2rem,3.5vw,3.25rem); }
.hadof-x3-home .hx-route-console h3 { font-size: clamp(1.8rem,2.7vw,2.65rem); min-height: 0; padding: 0; }
.hadof-x3-home .hx-mini-flow { display: flex; flex-wrap: wrap; gap: .45rem; }

/* Featured system remains inside the common page shell. */
.hadof-x3-home .hx-feature { padding-block: clamp(4rem,6vw,5.5rem); }
.hadof-x3-home .hx-feature__grid {
	display: grid;
	grid-template-columns: minmax(0,1.15fr) minmax(390px,.85fr) !important;
	margin-inline: auto;
	max-width: var(--hh-shell);
	overflow: hidden;
	width: min(calc(100% - 48px),var(--hh-shell));
}
.hadof-x3-home .hx-feature__media { min-height: 480px; }
.hadof-x3-home .hx-feature__copy { min-width: 0; overflow: visible; padding: clamp(2.4rem,4vw,3.6rem); }
.hadof-x3-home .hx-feature__copy h2 { font-size: clamp(2rem,2.8vw,2.8rem); line-height: 1.08; }

/* Cards read as grouped choices without excessive empty canvas. */
.hadof-x3-home .hx-equipment-grid { gap: 1.25rem; }
.hadof-x3-home .hx-equipment-grid > a { border: 0; border-radius: 10px; box-shadow: 0 12px 32px rgba(13,23,34,.07); }
.hadof-x3-home .hx-evidence-grid { gap: 1px; }
.hadof-x3-home .hx-evidence-grid > a { min-height: 230px; padding: 1.8rem; }
.hadof-x3-home .hx-evidence-grid h3 { margin-top: 1.4rem; }
.hadof-x3-home .hx-cases { gap: clamp(2.5rem,4vw,4rem); grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); }
.hadof-x3-home .hx-cases__intro { position: static; }
.hadof-x3-home .hx-case-list > a { border: 0; border-radius: 10px; box-shadow: 0 10px 28px rgba(13,23,34,.06); }
.hadof-x3-home .hx-project { padding-block: 3.5rem; }

/* Remove the empty footer tail visible on wide screens. */
body:has(.hadof-x3-home) .site-footer,body:has(.hadof-x3-home) .site-info { min-height: 0 !important; }
body:has(.hadof-x3-home) .site-info { padding-bottom: 2rem !important; }

@media (max-width: 900px) {
	.hadof-x3-home .hx-section-head { align-items: start; grid-template-columns: 1fr; gap: 1rem; }
	.hadof-x3-home .hx-section-head > p,.hadof-x3-home .hx-carousel-meta { justify-self: start; }
	.hadof-x3-home .hx-home-event,.hadof-x3-home .hx-feature__grid { grid-template-columns: 1fr !important; }
	.hadof-x3-home .hx-route-console__tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hadof-x3-home .hx-route-console__panels > article[data-active] { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-feature__media { min-height: 360px; }
}

@media (max-width: 640px) {
	.hadof-x3-home .hx-shell,.hadof-x3-home .hx-hero__copy { width: calc(100% - 28px) !important; }
	.hadof-x3-home .hx-hero__grid { min-height: 620px !important; }
	.hadof-x3-home .hx-hero__grid::after { background: linear-gradient(0deg,rgba(7,13,18,.96) 0%,rgba(7,13,18,.74) 62%,rgba(7,13,18,.28) 100%); }
	.hadof-x3-home .hx-hero__copy { align-content: end; padding: 3rem 0; }
	.hadof-x3-home .hx-hero h1 { font-size: clamp(2.45rem,11vw,3.1rem); }
	.hadof-x3-home .hx-hero__basis { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-home-event,.hadof-x3-home .hx-feature__grid { width: calc(100% - 28px); }
	.hadof-x3-home .hx-route-console__tabs { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-route-console__tabs button { min-height: 64px; }
	.hadof-x3-home .hx-route-console figure { min-height: 260px; }
	.hadof-x3-home .hx-section { padding-block: 3.5rem; }
}
