/*
Theme Name: Holmes Mission Control
Theme URI: https://www.dependentmedia.com/
Author: Dependent Media
Author URI: https://www.dependentmedia.com/
Description: Version 2 "Mission Control" block theme for Holmes Chiropractic (Dr. Randall Holmes, D.C., Houston). Super modern, ultra futuristic: Houston is Space City, the practice has its own mission statement, so the site is a mission-control console. Dark void with stars and a faint grid, glass panels with HUD corners, telemetry in monospace, a holographic 3D spine you can turn and explore, hologram photos, a live status board in Houston time and a neon street map. Unbounded, Geist and Geist Mono. No page builder.
Version: 2.0.0
Requires at least: 6.8
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rh-orbit
*/

/* ============================================================================================================
   Tokens + space
   ============================================================================================================ */
:root {
	--void: #05070D; --panel: #0D1322; --text: #EAF1FB; --muted: #A9B6CC; --cyan: #4FE3F0; --blue: #7FA6FF; --violet: #A99BFF;
	--coral: #FF7A59; --lime: #B8F36B; --amber: #FFB547;
	--line: rgba(140, 200, 255, .16); --line-2: rgba(140, 200, 255, .3);
	--glass: linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .02));
	--display: var(--wp--preset--font-family--display); --body: var(--wp--preset--font-family--body); --mono: var(--wp--preset--font-family--mono);
	--ease: cubic-bezier(.2, .8, .2, 1);
	--r: 22px;
	color-scheme: dark;
}
[hidden] { display: none !important; }
html { scroll-padding-top: 6.5rem; background: var(--void); }
body { background: var(--void); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; position: relative; }
/* deep space: two star layers, a faint grid that fades out, two aurora glows (all fixed, nothing animates on its own) */
body::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none;
	background:
		radial-gradient(1px 1px at 12% 18%, rgba(255, 255, 255, .7), transparent 60%), radial-gradient(1px 1px at 73% 9%, rgba(255, 255, 255, .55), transparent 60%),
		radial-gradient(1.5px 1.5px at 41% 63%, rgba(200, 230, 255, .6), transparent 60%), radial-gradient(1px 1px at 88% 71%, rgba(255, 255, 255, .5), transparent 60%),
		radial-gradient(1px 1px at 27% 86%, rgba(255, 255, 255, .45), transparent 60%), radial-gradient(1.2px 1.2px at 63% 38%, rgba(180, 220, 255, .5), transparent 60%),
		radial-gradient(60vmax 40vmax at 85% -10%, rgba(169, 155, 255, .16), transparent 60%), radial-gradient(55vmax 40vmax at -10% 30%, rgba(79, 227, 240, .10), transparent 60%),
		radial-gradient(2px 2px, rgba(255, 255, 255, .22) 50%, transparent 52%) 0 0 / 97px 97px,
		radial-gradient(1px 1px, rgba(255, 255, 255, .25) 50%, transparent 52%) 31px 47px / 61px 61px,
		var(--void); }
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(rgba(127, 166, 255, .05) 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(90deg, rgba(127, 166, 255, .05) 1px, transparent 1px) 0 0 / 64px 64px;
	-webkit-mask: radial-gradient(520px 520px at var(--mx, 70%) var(--my, 20%), #000 0%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .12) 100%);
	mask: radial-gradient(520px 520px at var(--mx, 70%) var(--my, 20%), #000 0%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .12) 100%); }
img, svg, video, canvas { max-width: 100%; }
img { height: auto; }
::selection { background: rgba(79, 227, 240, .35); color: #fff; }
:where(a) { text-decoration-thickness: 1px; text-underline-offset: .22em; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }
.ho-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ho-skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--cyan); color: var(--void); padding: .7rem 1rem; font-weight: 700; border-radius: 10px; }
.ho-skip:focus { top: 1rem; }
.ho-mono { font-family: var(--mono); letter-spacing: .04em; }
strong { font-weight: 650; }

/* kicker: monospace, uppercase, a lit square in front */
.ho-note { font-family: var(--mono); font-size: .78rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--cyan); margin: 0 0 .9rem; display: flex; align-items: center; gap: .6rem; }
.ho-note::before { content: ""; width: 8px; height: 8px; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); border-radius: 2px; flex: 0 0 auto; }
.ho-lead { font-size: clamp(1.1rem, 1rem + .5vw, 1.3rem); line-height: 1.6; color: var(--muted); max-width: 42rem; }
.ho-fine { font-size: .92rem; color: var(--muted); }
.ho-crumbs { font-family: var(--mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.ho-crumbs a { color: var(--muted); }
.ho-crumbs span[aria-hidden] { color: var(--cyan); }
h1, h2 { text-wrap: balance; }

/* ============================================================================================================
   Header: a floating glass capsule
   ============================================================================================================ */
.ho-header { position: sticky; top: 12px; z-index: 50; padding-top: 12px !important; background: transparent; }
.admin-bar .ho-header { top: 44px; }
@media (max-width: 782px) { .admin-bar .ho-header { top: 12px; } }
.ho-header__bar { gap: 1rem; align-items: center; padding: .5rem .55rem .5rem .8rem; border: 1px solid var(--line); border-radius: 999px;
	background: rgba(9, 14, 26, .72); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: 0 20px 50px -30px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .06); }
.ho-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--text); text-decoration: none; flex: 0 0 auto; }
.ho-brand__orb { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, rgba(79, 227, 240, .35), rgba(13, 19, 34, .9) 70%); border: 1px solid var(--line-2); box-shadow: 0 0 22px -4px rgba(79, 227, 240, .6); }
.ho-brand__mark { width: 1.65rem; height: 1.65rem; color: var(--cyan); filter: drop-shadow(0 0 4px rgba(79, 227, 240, .7)); }
.ho-brand__name { font-family: var(--display); font-weight: 600; font-size: .95rem; line-height: 1.05; letter-spacing: .01em; }
.ho-brand__name b { display: block; font-weight: 400; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-family: var(--mono); }
.ho-nav { font-size: .95rem; font-weight: 550; }
.ho-nav .wp-block-navigation__container { gap: .2rem; }
.ho-nav .wp-block-navigation-item__content { color: var(--text); text-decoration: none; padding: .5rem .8rem !important; border-radius: 999px; transition: background .2s, color .2s; }
.ho-nav .wp-block-navigation-item__content:hover { background: rgba(127, 166, 255, .12); color: #fff; }
.ho-nav .current-menu-item > .wp-block-navigation-item__content, .ho-nav .current-menu-ancestor > .wp-block-navigation-item__content { background: rgba(79, 227, 240, .14); color: var(--cyan); box-shadow: inset 0 0 0 1px rgba(79, 227, 240, .35); }
@media (min-width: 1140px) {
	.ho-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
		left: 0 !important; right: auto !important; top: 100% !important; margin-top: 0 !important; min-width: 14rem !important; padding: .5rem !important;
		background: rgba(9, 14, 26, .94) !important; border: 1px solid var(--line) !important; border-radius: 16px; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .9);
		-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
	.ho-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
	/* text lines up under the parent's text (parent has .8rem side padding; so do the items) */
	.ho-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem !important; border-radius: 10px; }
	.ho-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container { margin-left: -.5rem !important; }
}
@media (min-width: 600px) and (max-width: 1139px) {
	.ho-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ho-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ho-header__bar > .ho-nav { order: 3; }
}
.ho-nav-cta { display: none !important; }
.ho-nav .wp-block-navigation__responsive-container-open { color: var(--text); width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid var(--line-2); align-items: center; justify-content: center; }
.ho-nav .wp-block-navigation__responsive-container.is-menu-open { background: rgba(5, 7, 13, .97) !important; color: var(--text) !important; padding: 1.4rem !important; }
.ho-nav .is-menu-open .wp-block-navigation__container { gap: .3rem; }
.ho-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--display); font-size: 1.5rem; font-weight: 500; padding: .45rem 0 !important; }
.ho-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--body); font-size: 1.05rem; color: var(--muted); }
.ho-nav .is-menu-open .ho-nav-cta { display: block !important; margin-top: .7rem; }
.ho-nav .is-menu-open .ho-nav-cta .wp-block-navigation-item__content { font-family: var(--body) !important; font-size: 1rem !important; font-weight: 700 !important; padding: .85rem 1.3rem !important; border-radius: 999px; }
.ho-nav .is-menu-open .ho-nav-cta--book .wp-block-navigation-item__content { background: var(--cyan); color: var(--void) !important; }
.ho-nav .is-menu-open .ho-nav-cta--call .wp-block-navigation-item__content { border: 1px solid var(--cyan); color: var(--cyan) !important; }
.ho-nav .wp-block-navigation__responsive-container-close { color: var(--text); }
.ho-header__ctas { display: flex; align-items: center; gap: .7rem; flex: 0 0 auto; }
.ho-cta { display: inline-block; white-space: nowrap; font-weight: 700; color: var(--void); background: var(--cyan); padding: .7rem 1.15rem; border-radius: 999px; text-decoration: none; box-shadow: 0 0 0 1px rgba(79, 227, 240, .5), 0 10px 30px -10px rgba(79, 227, 240, .8); transition: background .2s, transform .2s var(--ease); }
.ho-cta:hover { background: #fff; color: var(--void); transform: translateY(-1px); }
.ho-open--mini { font-size: .8rem !important; margin: 0 !important; }
@media (max-width: 1300px) { .ho-cta__more { display: none; } }
@media (max-width: 1240px) { .ho-header__ctas .ho-open { display: none; } }
@media (min-width: 600px) and (max-width: 1139px) { .ho-header__ctas { margin-left: auto; } .ho-cta__more { display: inline; } }
@media (min-width: 860px) and (max-width: 1139px) { .ho-header__ctas .ho-open { display: inline-flex; } }
@media (max-width: 599px) { .ho-header__ctas { display: none; } .ho-header__bar { padding-left: .55rem; } }

/* "open now" */
.ho-open { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--mono); font-size: .86rem; letter-spacing: .03em; margin: .6rem 0 0; color: var(--text); }
.ho-open__dot { width: .62rem; height: .62rem; border-radius: 50%; background: var(--muted); flex: 0 0 auto; }
.ho-open--open .ho-open__dot { background: var(--lime); box-shadow: 0 0 0 4px rgba(184, 243, 107, .16), 0 0 14px var(--lime); }
.ho-open--later .ho-open__dot { background: var(--amber); box-shadow: 0 0 12px var(--amber); }
.ho-open--closed .ho-open__dot { background: var(--coral); box-shadow: 0 0 12px var(--coral); }
@media (prefers-reduced-motion: no-preference) { .ho-open--open .ho-open__dot { animation: ho-pulse 2.4s ease-out 3; } }
@keyframes ho-pulse { 0% { box-shadow: 0 0 0 0 rgba(184, 243, 107, .5), 0 0 14px var(--lime); } 100% { box-shadow: 0 0 0 12px rgba(184, 243, 107, 0), 0 0 14px var(--lime); } }

/* ============================================================================================================
   Buttons + panels
   ============================================================================================================ */
.wp-block-button__link { text-decoration: none; transition: background .2s, color .2s, transform .2s var(--ease), box-shadow .2s; box-shadow: 0 0 0 1px rgba(79, 227, 240, .45), 0 12px 34px -12px rgba(79, 227, 240, .85); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-ghost .wp-block-button__link { background: transparent !important; color: var(--cyan) !important; box-shadow: inset 0 0 0 1px var(--cyan); }
.is-style-ghost .wp-block-button__link:hover { background: rgba(79, 227, 240, .12) !important; color: #fff !important; }
.wp-block-buttons { gap: .9rem 1rem; }
/* a glass panel with HUD corner brackets */
.ho-panel, .is-style-ho-panel { position: relative; background: var(--glass), rgba(13, 19, 34, .55); border: 1px solid var(--line); border-radius: var(--r);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 30px 60px -40px rgba(0, 0, 0, .9); }
.ho-panel::before, .ho-panel::after { content: ""; position: absolute; width: 18px; height: 18px; pointer-events: none; border-color: var(--cyan); border-style: solid; opacity: .8; }
.ho-panel::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; border-top-left-radius: var(--r); }
.ho-panel::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; border-bottom-right-radius: var(--r); }

/* ============================================================================================================
   Sections
   ============================================================================================================ */
.ho-main { padding-top: 0 !important; }
.ho-main > .wp-block-post-content > * { margin-block-start: 0; }
.ho-section { padding-block: clamp(3.5rem, 8vw, 6.5rem) !important; position: relative; }
.ho-section + .ho-section::before { content: ""; position: absolute; top: 0; left: 50%; width: min(80rem, 92vw); height: 1px; transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--line-2), transparent); }
.ho-section__head { margin-bottom: clamp(1.75rem, 3.5vw, 2.8rem); max-width: 52rem; }
.ho-section__head h2 { margin: 0 0 .7rem; }
.ho-section__head .ho-lead { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
	.js .ho-reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease) calc(var(--i, 0) * 70ms), transform .8s var(--ease) calc(var(--i, 0) * 70ms); }
	.js .ho-reveal.is-in, .js.ho-noreveal .ho-reveal { opacity: 1; transform: none; }
}

/* ============================================================================================================
   Hero: headline + the holographic spine
   ============================================================================================================ */
.ho-hero { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3rem, 6vw, 4.5rem) !important; }
.ho-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.ho-hero__title { font-size: clamp(2.6rem, 1.4rem + 5vw, 5.4rem) !important; line-height: .98 !important; letter-spacing: -.035em !important; margin: 0 0 1.3rem; text-shadow: 0 0 40px rgba(79, 227, 240, .25); }
.ho-hero .ho-lead { margin: 0 0 1.6rem; }
.ho-hero__call { display: grid; gap: .25rem; margin: 0 0 1.6rem; padding: 1rem 1.2rem; border-left: 2px solid var(--cyan); background: linear-gradient(90deg, rgba(79, 227, 240, .1), transparent 70%); border-radius: 0 14px 14px 0; width: fit-content; }
.ho-hero__call-label { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ho-hero__phone { font-family: var(--display); font-weight: 600; white-space: nowrap; font-size: clamp(1.7rem, 1.1rem + 2.4vw, 2.8rem); letter-spacing: -.01em; color: var(--text); text-decoration: none; text-shadow: 0 0 24px rgba(79, 227, 240, .45); }
.ho-hero__phone:hover { color: var(--cyan); }
.ho-tele { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: clamp(2rem, 5vw, 3.5rem) auto 0; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--line); }
.ho-tele__item { background: rgba(9, 14, 26, .82); padding: 1.1rem 1.25rem; }
.ho-tele dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }
.ho-tele dd { margin: .35rem 0 0; font-family: var(--display); font-weight: 500; font-size: clamp(1.05rem, .9rem + .6vw, 1.4rem); color: var(--text); }
@media (max-width: 900px) { .ho-hero__grid { grid-template-columns: 1fr; } .ho-tele { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* the stage: a dark glass bay with HUD corners; the spine is drawn into the canvas */
.ho-stage { position: relative; aspect-ratio: 4 / 5; border-radius: 28px; border: 1px solid var(--line); overflow: hidden; touch-action: pan-y;
	background: radial-gradient(70% 60% at 50% 45%, rgba(79, 227, 240, .14), transparent 70%), radial-gradient(90% 80% at 50% 110%, rgba(169, 155, 255, .16), transparent 60%), rgba(6, 10, 20, .7);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), 0 40px 80px -40px rgba(0, 0, 0, .95); }
.ho-stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 4px); }
.ho-stage::after { content: ""; position: absolute; left: 50%; bottom: 7%; width: 56%; height: 7%; transform: translateX(-50%); border-radius: 50%; border: 1px solid rgba(79, 227, 240, .35); box-shadow: 0 0 40px rgba(79, 227, 240, .25), inset 0 0 20px rgba(79, 227, 240, .2); pointer-events: none; }
.ho-stage__canvas { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; display: block; }
.ho-stage.is-dragging .ho-stage__canvas { cursor: grabbing; }
.ho-hud { position: absolute; z-index: 2; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); pointer-events: none; }
.ho-hud b { color: var(--cyan); font-weight: 600; }
.ho-hud--tl { top: 1rem; left: 1.1rem; } .ho-hud--tr { top: 1rem; right: 1.1rem; } .ho-hud--bl { bottom: 1rem; left: 1.1rem; } .ho-hud--br { bottom: 1rem; right: 1.1rem; text-align: right; }
.ho-stage__tip { position: absolute; z-index: 3; left: 0; top: 0; padding: .35rem .6rem; border-radius: 8px; background: rgba(5, 7, 13, .9); border: 1px solid var(--lime); color: var(--lime); font-size: .72rem; letter-spacing: .08em; opacity: 0; pointer-events: none; transition: opacity .15s; white-space: nowrap; }
.ho-stage.is-hovering .ho-stage__tip { opacity: 1; }
.ho-stage__pause { position: absolute; z-index: 3; right: .8rem; bottom: 2.4rem; font: 600 .74rem var(--mono); letter-spacing: .08em; color: var(--text); background: rgba(5, 7, 13, .75); border: 1px solid var(--line-2); border-radius: 999px; padding: .4rem .75rem; cursor: pointer; }
.ho-stage__pause:hover { border-color: var(--cyan); color: var(--cyan); }
.ho-stage__pause-off { display: none; }
.ho-stage__pause[aria-pressed="true"] .ho-stage__pause-on { display: none; }
.ho-stage__pause[aria-pressed="true"] .ho-stage__pause-off { display: inline; }
.no-js .ho-stage__pause { display: none; }
@media (max-width: 900px) { .ho-stage--hero { aspect-ratio: 1 / 1; max-width: 34rem; margin-inline: auto; width: 100%; } }

/* ============================================================================================================
   Meet the doctor + transmission (video)
   ============================================================================================================ */
.ho-meet { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.ho-transmission { margin: 0; border-radius: 22px; border: 1px solid var(--line); background: rgba(9, 14, 26, .8); overflow: hidden; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9), 0 0 60px -30px rgba(79, 227, 240, .5); }
.ho-transmission__bar { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.ho-rec { width: .55rem; height: .55rem; border-radius: 50%; background: var(--coral); box-shadow: 0 0 10px var(--coral); }
.ho-transmission__frame { position: relative; background: #000; }
.ho-transmission__frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(79, 227, 240, .05) 0 1px, transparent 1px 3px); mix-blend-mode: screen; }
.ho-transmission__video { display: block; width: 100%; height: auto; aspect-ratio: 720 / 436; }
.ho-transmission__cap { padding: .8rem 1rem 1rem; font-size: .92rem; color: var(--muted); }
.ho-transcript { margin-top: .4rem; }
.ho-transcript summary { cursor: pointer; color: var(--cyan); font-weight: 600; }
.ho-transcript p { color: var(--text); font-size: 1rem; line-height: 1.55; }
.ho-log { list-style: none; padding: 0; margin: 1.4rem 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.ho-log li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.ho-log li span { color: var(--cyan); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; padding-top: .15rem; }
@media (max-width: 900px) { .ho-meet { grid-template-columns: 1fr; } }

/* ============================================================================================================
   Mission: quote + a console readout
   ============================================================================================================ */
.ho-mission { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.ho-quote { margin: 1.4rem 0 0; padding: 0 0 0 1.3rem; border-left: 2px solid var(--violet); }
.ho-quote p { font-family: var(--display); font-weight: 400; font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); line-height: 1.32; margin: 0; color: var(--text); }
.ho-quote cite { display: block; margin-top: .7rem; font-family: var(--mono); font-style: normal; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.ho-console { border-radius: 20px; border: 1px solid var(--line); background: rgba(6, 10, 20, .86); overflow: hidden; box-shadow: 0 0 60px -30px rgba(169, 155, 255, .55); }
.ho-console__bar { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; font-size: .74rem; color: var(--muted); border-bottom: 1px solid var(--line); }
.ho-console__bar span { width: .6rem; height: .6rem; border-radius: 50%; background: rgba(169, 182, 204, .35); }
.ho-console__bar span:first-child { background: var(--coral); } .ho-console__bar span:nth-child(2) { background: var(--amber); } .ho-console__bar span:nth-child(3) { background: var(--lime); margin-right: .6rem; }
.ho-console__list { list-style: none; margin: 0; padding: 1rem 1.2rem 1.3rem; display: grid; gap: .8rem; }
.ho-console__line { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .6rem; line-height: 1.5; }
.ho-console__no { color: var(--cyan); font-size: .85rem; padding-top: .12rem; }
@media (prefers-reduced-motion: no-preference) {
	.js .ho-console .ho-console__line { opacity: 0; transform: translateX(-8px); transition: opacity .5s var(--ease) calc(var(--i) * 180ms + 200ms), transform .5s var(--ease) calc(var(--i) * 180ms + 200ms); }
	.js .ho-console.is-in .ho-console__line, .js.ho-noreveal .ho-console__line { opacity: 1; transform: none; }
}
@media (max-width: 900px) { .ho-mission { grid-template-columns: 1fr; } }

/* ============================================================================================================
   Crew panels (every age) + hologram photos
   ============================================================================================================ */
.ho-crew { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.6rem); }
.ho-crew__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--text); border-radius: 20px; border: 1px solid var(--line); background: var(--glass), rgba(13, 19, 34, .55); overflow: hidden; transition: transform .35s var(--ease), border-color .35s, box-shadow .35s; }
.ho-crew__link:hover, .ho-crew__link:focus-visible { transform: translateY(-4px); border-color: rgba(79, 227, 240, .55); box-shadow: 0 0 50px -20px rgba(79, 227, 240, .7); }
.ho-crew__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #0a1020; }
.ho-crew__img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(1.15) brightness(.82); transition: filter .5s var(--ease), transform .8s var(--ease); }
.ho-crew__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(79, 227, 240, .55), rgba(169, 155, 255, .45)); mix-blend-mode: color; transition: opacity .5s; }
.ho-crew__media::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .18) 0 1px, transparent 1px 3px); }
.ho-crew__link:hover .ho-crew__img { filter: none; transform: scale(1.04); }
.ho-crew__link:hover .ho-crew__media::after { opacity: 0; }
.ho-crew__id { position: absolute; z-index: 2; left: .8rem; top: .7rem; font-size: .68rem; letter-spacing: .14em; color: var(--text); background: rgba(5, 7, 13, .7); padding: .25rem .5rem; border-radius: 6px; border: 1px solid var(--line-2); }
.ho-crew__label { font-family: var(--display); font-weight: 500; font-size: 1.2rem; padding: 1.05rem 1.2rem 0; }
.ho-crew__line { color: var(--muted); padding: .4rem 1.2rem 0; font-size: .97rem; }
.ho-crew__read { margin-top: auto; padding: .9rem 1.2rem 1.1rem; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--cyan); }
.ho-crew__read::after { content: " →"; }
.ho-golf { margin-top: clamp(1.4rem, 3vw, 2.2rem); }
.ho-golf p { margin: 0; padding: 1rem 1.25rem; border-radius: 16px; border: 1px solid rgba(184, 243, 107, .3); background: rgba(184, 243, 107, .06); max-width: 54rem; }
@media (max-width: 960px) { .ho-crew { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ho-crew { grid-template-columns: 1fr; } }

.ho-holo { position: relative; margin: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--line-2); background: #070c18; box-shadow: 0 0 70px -30px rgba(79, 227, 240, .7); }
.ho-holo__img { display: block; width: 100%; height: auto; filter: grayscale(1) contrast(1.2) brightness(.85); transition: filter .6s var(--ease); }
.ho-holo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(160deg, rgba(79, 227, 240, .6), rgba(169, 155, 255, .45) 60%, rgba(255, 122, 89, .25)); mix-blend-mode: color; transition: opacity .6s; }
.ho-holo__scan { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .22) 0 1px, transparent 1px 3px); }
.ho-holo:hover .ho-holo__img { filter: none; }
.ho-holo:hover::after { opacity: 0; }
.ho-holo__tag { position: absolute; z-index: 2; left: .9rem; top: .8rem; font-size: .66rem; letter-spacing: .16em; color: var(--text); background: rgba(5, 7, 13, .72); padding: .3rem .55rem; border-radius: 6px; border: 1px solid var(--line-2); }
@media (prefers-reduced-motion: no-preference) {
	.js .ho-holo.ho-reveal::before { content: ""; position: absolute; z-index: 3; left: 0; right: 0; height: 3px; top: 0; background: var(--cyan); box-shadow: 0 0 24px 6px rgba(79, 227, 240, .6); opacity: 0; }
	.js .ho-holo.ho-reveal.is-in::before { animation: ho-scan 1.6s var(--ease) .2s 1 both; }
}
@keyframes ho-scan { 0% { top: 0; opacity: 1; } 90% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
.ho-holo--small { max-width: 20rem; }

/* ============================================================================================================
   Spine explorer
   ============================================================================================================ */
.ho-explorer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 3rem); align-items: center; }
.ho-stage--explore { aspect-ratio: 5 / 6; }
.ho-regions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-bottom: 1.2rem; }
.ho-region { display: grid; gap: .2rem; text-align: left; font: inherit; color: var(--text); background: rgba(13, 19, 34, .6); border: 1px solid var(--line); border-radius: 14px; padding: .8rem 1rem; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
.ho-region .ho-mono { font-size: .72rem; color: var(--muted); letter-spacing: .12em; }
.ho-region__name { font-family: var(--display); font-weight: 500; font-size: 1.05rem; }
.ho-region:hover { border-color: var(--line-2); }
.ho-region[aria-selected="true"] { border-color: var(--coral); background: rgba(255, 122, 89, .1); box-shadow: 0 0 30px -12px rgba(255, 122, 89, .8); }
.ho-region[aria-selected="true"] .ho-mono { color: var(--coral); }
.ho-regionpanel { min-height: 15rem; }
.ho-regionpanel__range { color: var(--coral); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .5rem; }
.ho-regionpanel__text { font-size: 1.15rem; line-height: 1.55; margin: 0 0 1.2rem; }
.ho-regionpanel__h { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 .4rem; }
.ho-regionpanel__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.ho-regionpanel__links a { font-weight: 600; }
.ho-regionpanel__links a::before { content: "↗ "; color: var(--muted); }
@media (max-width: 900px) { .ho-explorer { grid-template-columns: 1fr; } .ho-stage--explore { aspect-ratio: 1 / 1; max-width: 32rem; width: 100%; margin-inline: auto; } }

/* ============================================================================================================
   Load monitor
   ============================================================================================================ */
.ho-load-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.ho-load__copy h3 { margin-top: 1.6rem; font-size: 1.1rem; }
.ho-tips { padding-left: 1.2rem; display: grid; gap: .45rem; }
.ho-tips li::marker { color: var(--cyan); }
.ho-load { border-radius: 24px; border: 1px solid var(--line); background: radial-gradient(70% 60% at 60% 40%, rgba(127, 166, 255, .12), transparent 70%), rgba(6, 10, 20, .8); padding: clamp(1rem, 3vw, 1.6rem); }
.ho-load__svg { display: block; width: 100%; max-width: 26rem; height: auto; margin: 0 auto; overflow: visible; }
.ho-load__kg { font: 700 15px var(--mono); fill: var(--text); letter-spacing: .04em; }
.ho-load__needle { transition: transform .15s; }
.ho-load__label { display: block; font-weight: 650; margin: .6rem 0 .4rem; }
.ho-load__range { width: 100%; accent-color: var(--cyan); height: 2rem; cursor: pointer; }
.ho-load__scale { display: flex; justify-content: space-between; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 .8rem; }
.ho-load__out { margin: 0; min-height: 5.4rem; }
.ho-load__deg { font-size: .9rem; color: var(--muted); }
.ho-load__lb { display: block; font-family: var(--display); font-weight: 600; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); line-height: 1.1; color: var(--cyan); }
.ho-load[data-band="1"] .ho-load__lb { color: var(--amber); }
.ho-load[data-band="2"] .ho-load__lb { color: var(--coral); }
.ho-load__say { display: block; color: var(--muted); margin-top: .25rem; }
@media (max-width: 900px) { .ho-load-wrap { grid-template-columns: 1fr; } }

/* ============================================================================================================
   Feed (articles) + status board + neon map + CTA + footer
   ============================================================================================================ */
.ho-feed { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.5rem); }
.ho-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--text); border-radius: 18px; border: 1px solid var(--line); background: var(--glass), rgba(13, 19, 34, .55); overflow: hidden; transition: transform .3s var(--ease), border-color .3s; }
.ho-card__link:hover, .ho-card__link:focus-visible { transform: translateY(-3px); border-color: rgba(79, 227, 240, .55); }
.ho-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #0a1020; }
.ho-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(79, 227, 240, .5), rgba(169, 155, 255, .4)); mix-blend-mode: color; transition: opacity .4s; }
.ho-card__img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(1.1) brightness(.85); transition: filter .4s; }
.ho-card__link:hover .ho-card__img { filter: none; } .ho-card__link:hover .ho-card__media::after { opacity: 0; }
.ho-card__blank { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 30% 40%, rgba(79, 227, 240, .25), transparent 60%), #0a1020; }
.ho-card__meta { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem 0; font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; color: var(--muted); }
.ho-card__title { font-family: var(--display); font-weight: 500; font-size: 1.08rem; line-height: 1.3; padding: .45rem 1.1rem 0; }
.ho-card__tag { margin-top: auto; padding: .8rem 1.1rem 1rem; font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.ho-feed__more { margin-top: 1.6rem; }
@media (max-width: 960px) { .ho-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ho-feed { grid-template-columns: 1fr; } }

.ho-visit { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: clamp(1.25rem, 4vw, 2.5rem); align-items: start; }
.ho-visit__card { padding: clamp(1.4rem, 3.5vw, 2.3rem); }
.ho-visit__card h2 { margin: 0 0 1rem; }
.ho-address { font-style: normal; line-height: 1.6; }
.ho-address span { color: var(--muted); }
.ho-visit__phone { margin: .8rem 0 1rem; }
.ho-visit__phone a { font-family: var(--display); font-weight: 600; font-size: 1.8rem; color: var(--text); text-decoration: none; text-shadow: 0 0 20px rgba(79, 227, 240, .4); }
.ho-visit__btns { margin-bottom: 1.4rem; }
.ho-visit__btns .wp-block-button__link { font-size: .92rem; padding: .7rem 1.1rem; }
.ho-status { margin-top: .4rem; padding: 1.1rem 1.15rem 1rem; border-radius: 18px; border: 1px solid var(--line); background: rgba(5, 7, 13, .7); }
.ho-status__top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: .7rem; letter-spacing: .14em; color: var(--muted); }
.ho-status__clock { font-size: 1.35rem; color: var(--cyan); letter-spacing: .06em; text-shadow: 0 0 14px rgba(79, 227, 240, .6); font-variant-numeric: tabular-nums; }
.ho-open--big { font-size: 1.02rem; margin-top: .55rem; }
.ho-status__next { margin: .25rem 0 .6rem 1.2rem; font-size: .8rem; color: var(--muted); min-height: 1.2em; font-variant-numeric: tabular-nums; }
.ho-hours__list { list-style: none; margin: 0; padding: 0; }
.ho-hours__row { display: grid; grid-template-columns: 6.6rem minmax(0, 1fr); grid-template-areas: "day time" "day track"; column-gap: .8rem; padding: .45rem .3rem; border-top: 1px solid var(--line); border-radius: 8px; }
.ho-hours__day { grid-area: day; font-weight: 600; font-size: .95rem; }
.ho-hours__time { grid-area: time; font-family: var(--mono); font-size: .76rem; color: var(--muted); }
.ho-hours__track { grid-area: track; position: relative; height: 6px; margin-top: .35rem; border-radius: 3px; background: rgba(127, 166, 255, .12); }
.ho-hours__bar { position: absolute; top: 0; bottom: 0; left: var(--a); width: calc(var(--b) - var(--a)); background: linear-gradient(90deg, var(--cyan), var(--blue)); border-radius: 3px; box-shadow: 0 0 10px rgba(79, 227, 240, .6); }
.ho-hours__row.is-closed .ho-hours__time { font-style: italic; }
.ho-hours__row.is-today { background: rgba(79, 227, 240, .08); box-shadow: inset 2px 0 0 var(--cyan); }
.ho-hours__row.is-today .ho-hours__day::after { content: "today"; display: block; font-family: var(--mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); font-weight: 500; }
.ho-hours__scale { position: relative; height: 1rem; margin: .4rem 0 0 7.7rem; font-family: var(--mono); font-size: .66rem; color: var(--muted); }
.ho-hours__scale span { position: absolute; left: var(--a); transform: translateX(-50%); }
.ho-map { margin: 0; position: sticky; top: 7rem; border-radius: 22px; border: 1px solid var(--line); overflow: hidden; background: #070b14; box-shadow: 0 0 80px -40px rgba(79, 227, 240, .6); }
.ho-map__art { position: relative; container-type: inline-size; }
.ho-map__art img { display: block; width: 100%; height: auto; }
.ho-map__labels { position: absolute; inset: 0; pointer-events: none; }
.ho-map__label { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; font-family: var(--mono); font-size: clamp(.5rem, 1.35cqi, .78rem); letter-spacing: .06em; text-transform: uppercase; color: #cfe0ff; text-shadow: 0 0 4px #070b14, 0 0 4px #070b14; }
.ho-map__label--v { transform: translate(-50%, -50%) rotate(-90deg); }
.ho-map__label--d { transform: translate(-50%, -50%) rotate(-58deg); }
.ho-map__label--water { color: var(--violet); transform: translate(-50%, -50%) rotate(-28deg); }
.ho-map__label--park { color: var(--lime); }
.ho-map__pin { position: absolute; z-index: 2; transform: translate(-50%, -50%); width: 0; height: 0; }
.ho-map__dot { position: absolute; left: -8px; top: -8px; width: 16px; height: 16px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 3px #070b14, 0 0 18px 4px rgba(79, 227, 240, .8); }
.ho-map__ping { position: absolute; left: -40px; top: -40px; width: 80px; height: 80px; border-radius: 50%; border: 1px solid rgba(79, 227, 240, .6); }
@media (prefers-reduced-motion: no-preference) { .ho-map__ping { animation: ho-ping 2.6s ease-out 4; } }
@keyframes ho-ping { from { transform: scale(.2); opacity: 1; } to { transform: scale(1.3); opacity: 0; } }
.ho-map__tag { position: absolute; left: 0; bottom: 18px; transform: translateX(-50%); white-space: nowrap; background: rgba(5, 7, 13, .9); border: 1px solid var(--cyan); color: var(--text); padding: .35rem .6rem; border-radius: 8px; font-size: clamp(.62rem, 1.5cqi, .82rem); letter-spacing: .04em; line-height: 1.3; }
.ho-map__tag small { display: block; color: var(--muted); }
.ho-map__cap { padding: .7rem 1rem; font-size: .7rem; letter-spacing: .06em; color: var(--muted); border-top: 1px solid var(--line); }
@media (max-width: 900px) { .ho-visit { grid-template-columns: 1fr; } .ho-map { position: static; } }

.ho-cta-band { padding-block: clamp(4rem, 9vw, 7rem) !important; text-align: center; position: relative; overflow: hidden; }
.ho-cta-band::before { content: ""; position: absolute; left: 50%; top: 50%; width: min(70rem, 140vw); aspect-ratio: 2 / 1; transform: translate(-50%, -50%); border-radius: 50%;
	background: radial-gradient(closest-side, rgba(79, 227, 240, .18), rgba(169, 155, 255, .08) 55%, transparent 75%); pointer-events: none; }
.ho-cta-band__inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.ho-cta-band .ho-note { justify-content: center; }
.ho-cta-band h2 { margin: 0 0 .4rem; }
.ho-cta-band__phone { margin: 0 0 .8rem; }
.ho-cta-band__phone a { font-family: var(--display); font-weight: 700; white-space: nowrap; font-size: clamp(1.9rem, 1rem + 5vw, 5.4rem); letter-spacing: -.03em; color: var(--text); text-decoration: none; text-shadow: 0 0 40px rgba(79, 227, 240, .55); }
.ho-cta-band__phone a:hover { color: var(--cyan); }
.ho-cta-band__lead { color: var(--muted); max-width: 38rem; margin: 0 auto 1.2rem; }
.ho-cta-band__btns { justify-content: center; }

.ho-footer { padding-block: clamp(3rem, 6vw, 4.5rem) 1.6rem !important; border-top: 1px solid var(--line); background: linear-gradient(180deg, rgba(13, 19, 34, .6), rgba(5, 7, 13, .95)); }
.ho-footer a { color: var(--text); }
.ho-footer a:hover { color: var(--cyan); }
.ho-footer__grid { display: grid; grid-template-columns: 1.3fr 1.1fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); }
.ho-footer__mark { display: flex; align-items: center; gap: .7rem; font-family: var(--display); font-weight: 600; font-size: 1.1rem; margin: 0 0 1rem; }
.ho-footer__tag { color: var(--muted); margin: 0 0 1rem; max-width: 22rem; }
.ho-footer__addr { font-size: .95rem; line-height: 1.6; margin: 0 0 .8rem; }
.ho-footer__coords { font-size: .74rem; color: var(--cyan); margin: 0; }
.ho-footer__h { font-family: var(--mono) !important; font-size: .72rem !important; font-weight: 500 !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--muted) !important; margin: .3rem 0 .9rem; }
.ho-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; font-size: .95rem; }
.ho-footer__list a { text-decoration: none; }
.ho-hourlist { list-style: none; padding: 0; margin: .7rem 0 0; display: grid; gap: .3rem; font-size: .92rem; }
.ho-hourlist li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding-bottom: .3rem; }
.ho-hourlist li span:first-child { font-weight: 600; white-space: nowrap; }
.ho-hourlist li span:last-child { text-align: right; font-family: var(--mono); font-size: .8rem; color: var(--muted); }
.ho-footer__base { margin-top: clamp(2rem, 4vw, 3rem); padding-top: 1.1rem; border-top: 1px solid var(--line); font-size: .74rem; color: var(--muted); gap: .5rem 2rem; }
.ho-footer__base p { margin: 0; }
@media (max-width: 960px) { .ho-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ho-footer__grid { grid-template-columns: 1fr; } }

/* ============================================================================================================
   Inner pages
   ============================================================================================================ */
.ho-pagehead { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem) !important; }
.ho-pagehead__inner { display: grid; gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.ho-pagehead__inner.has-art { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.ho-pagehead h1 { margin: 0 0 1rem; max-width: 16ch; text-shadow: 0 0 40px rgba(79, 227, 240, .2); }
.ho-pagehead .ho-lead { margin: 0; }
.ho-pagehead__art .ho-holo { max-width: 26rem; margin-inline: auto; }
.ho-pagehead--blog { border-bottom: 1px solid var(--line); }
@media (max-width: 820px) { .ho-pagehead__inner.has-art { grid-template-columns: 1fr; } }

.ho-about, .ho-family, .ho-appt, .ho-intro, .ho-contact { display: grid; gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.ho-about { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); }
.ho-about__art .ho-holo { max-width: 24rem; margin-inline: auto; }
.ho-family { grid-template-columns: minmax(0, .55fr) minmax(0, 1fr) minmax(0, .95fr); align-items: center; }
.ho-appt { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; }
.ho-appt__art .ho-holo { max-width: 22rem; margin-inline: auto; }
.ho-intro { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); align-items: center; }
.ho-contact { grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); }
@media (max-width: 1080px) { .ho-family { grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); } .ho-family__video { grid-column: 1 / -1; max-width: 36rem; } }
@media (max-width: 820px) { .ho-about, .ho-family, .ho-appt, .ho-intro, .ho-contact { grid-template-columns: 1fr; } }
.ho-chiplinks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ho-chiplinks a { display: inline-block; padding: .55rem 1rem; border-radius: 999px; border: 1px solid var(--line-2); color: var(--text); text-decoration: none; font-weight: 600; font-size: .95rem; background: rgba(13, 19, 34, .55); }
.ho-chiplinks a:hover { border-color: var(--cyan); color: var(--cyan); }

/* flight log (About timeline) */
.ho-flight { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; position: relative; }
.ho-flight::before { content: ""; position: absolute; left: 0; right: 0; top: .5rem; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--violet), var(--coral)); box-shadow: 0 0 12px rgba(79, 227, 240, .5); }
.ho-flight__pt { position: relative; padding-top: 2rem; }
.ho-flight__pt::before { content: ""; position: absolute; top: 0; left: 0; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--void); border: 2px solid var(--cyan); box-shadow: 0 0 12px rgba(79, 227, 240, .7); }
.ho-flight__pt--now::before { background: var(--coral); border-color: var(--coral); box-shadow: 0 0 16px var(--coral); }
.ho-flight__t { display: block; color: var(--cyan); font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .35rem; }
.ho-flight__w { display: block; font-size: .95rem; line-height: 1.5; }
@media (max-width: 860px) {
	.ho-flight { grid-template-columns: 1fr; gap: 0; padding-left: 2rem; }
	.ho-flight::before { left: .5rem; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--cyan), var(--violet), var(--coral)); }
	.ho-flight__pt { padding: 0 0 1.4rem; }
	.ho-flight__pt::before { left: -2rem; top: .15rem; }
}

/* modules (techniques) + systems */
.ho-modules { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.ho-module { padding: 1.3rem 1.2rem 1.1rem; }
.ho-module__id { display: block; font-size: .7rem; letter-spacing: .16em; color: var(--cyan); margin-bottom: .5rem; }
.ho-module__name { font-size: 1.08rem; margin: 0 0 .5rem; line-height: 1.3; }
.ho-module p { margin: 0 0 .5rem; font-size: .96rem; color: var(--muted); }
.ho-module__more a { font-weight: 600; font-size: .92rem; }
.ho-sys-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); margin-top: clamp(2rem, 4vw, 3rem); align-items: start; }
.ho-sys { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .6rem; }
.ho-sys li { display: flex; align-items: center; gap: .7rem; padding: .75rem .9rem; border-radius: 12px; border: 1px solid var(--line); background: rgba(13, 19, 34, .5); }
.ho-sys__dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px var(--lime); flex: 0 0 auto; }
.ho-sys-aside { padding: 1.4rem 1.4rem 1.1rem; }
@media (max-width: 820px) { .ho-sys-grid { grid-template-columns: 1fr; } }

/* trajectory (phases) */
.ho-orbit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; border-radius: 26px; border: 1px solid var(--line); padding: clamp(1rem, 3vw, 2rem); background: rgba(6, 10, 20, .7); }
.ho-orbit__svg { display: block; width: 100%; max-width: 26rem; height: auto; margin: 0 auto; overflow: visible; }
.ho-orbit__you { font: 700 13px var(--mono); fill: var(--void); letter-spacing: .1em; }
.ho-orbit__ring circle { stroke: rgba(127, 166, 255, .25); fill: none; transition: stroke .4s; }
.ho-orbit__ring .ho-orbit__sat circle { fill: rgba(127, 166, 255, .35); stroke: none; }
.ho-orbit__ring text { font: 600 11px var(--mono); fill: var(--muted); letter-spacing: .14em; }
.ho-orbit[data-phase="1"] .ho-orbit__ring--1 > circle, .ho-orbit[data-phase="2"] .ho-orbit__ring--2 > circle, .ho-orbit[data-phase="3"] .ho-orbit__ring--3 > circle { stroke: var(--cyan); filter: drop-shadow(0 0 6px rgba(79, 227, 240, .8)); }
.ho-orbit[data-phase="1"] .ho-orbit__ring--1 .ho-orbit__sat circle, .ho-orbit[data-phase="2"] .ho-orbit__ring--2 .ho-orbit__sat circle, .ho-orbit[data-phase="3"] .ho-orbit__ring--3 .ho-orbit__sat circle { fill: var(--coral); filter: drop-shadow(0 0 6px var(--coral)); }
.ho-orbit[data-phase="1"] .ho-orbit__ring--1 text, .ho-orbit[data-phase="2"] .ho-orbit__ring--2 text, .ho-orbit[data-phase="3"] .ho-orbit__ring--3 text { fill: var(--cyan); }
@media (prefers-reduced-motion: no-preference) {
	.ho-orbit[data-phase="1"] .ho-orbit__ring--1 .ho-orbit__sat, .ho-orbit[data-phase="2"] .ho-orbit__ring--2 .ho-orbit__sat, .ho-orbit[data-phase="3"] .ho-orbit__ring--3 .ho-orbit__sat { animation: ho-orbit 6s linear 3; }
}
@keyframes ho-orbit { from { transform: rotate(0); } to { transform: rotate(-360deg); } }
.ho-phases { display: grid; gap: .55rem; margin-bottom: 1rem; }
.ho-phase { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: baseline; text-align: left; font: inherit; color: var(--text); background: rgba(13, 19, 34, .6); border: 1px solid var(--line); border-radius: 14px; padding: .8rem 1rem; cursor: pointer; }
.ho-phase .ho-mono { font-size: .72rem; color: var(--muted); letter-spacing: .12em; }
.ho-phase__name { font-weight: 650; }
.ho-phase:hover { border-color: var(--line-2); }
.ho-phase[aria-selected="true"] { border-color: var(--cyan); background: rgba(79, 227, 240, .09); box-shadow: 0 0 30px -12px rgba(79, 227, 240, .8); }
.ho-phase[aria-selected="true"] .ho-mono { color: var(--cyan); }
.ho-phasepanel { min-height: 7.5rem; font-size: 1.05rem; }
@media (max-width: 860px) { .ho-orbit { grid-template-columns: 1fr; } }

/* plans (payment) */
.ho-plans { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ho-plan { padding: 1.3rem 1.3rem 1.1rem; }
.ho-plan dt { font-family: var(--display); font-weight: 500; font-size: 1.2rem; margin-bottom: .45rem; }
.ho-plan dt span { display: block; font-size: .68rem; letter-spacing: .16em; color: var(--cyan); margin-bottom: .35rem; }
.ho-plan dd { margin: 0; color: var(--muted); }
.ho-plans__note { margin-top: 1.6rem; max-width: 48rem; }
@media (max-width: 700px) { .ho-plans { grid-template-columns: 1fr; } }

/* sequence (first visits) */
.ho-seq { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ho-seq__step { position: relative; padding: 1.2rem 1.1rem 1.1rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(13, 19, 34, .55); }
.ho-seq__no { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--cyan); color: var(--cyan); font-size: .9rem; margin-bottom: .7rem; box-shadow: 0 0 16px -4px rgba(79, 227, 240, .8); }
.ho-seq__step p { margin: 0; font-size: .96rem; }
@media (max-width: 960px) { .ho-seq { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ho-seq { grid-template-columns: 1fr; } }
.ho-doc { display: block; padding: 1rem; text-decoration: none; max-width: 16rem; margin-inline: auto; }
.ho-doc__img { display: block; border-radius: 8px; filter: invert(.92) hue-rotate(180deg) contrast(.9); }
.ho-doc__meta { display: block; margin-top: .7rem; font-size: .72rem; letter-spacing: .1em; color: var(--cyan); text-align: center; }
.ho-download .wp-block-buttons { margin-bottom: .5rem; }

/* FAQ */
.ho-pick { padding: clamp(1.4rem, 3.5vw, 2.4rem); max-width: 56rem; }
.ho-pick h2 { margin-top: 0; }
.ho-pick__quote { font-family: var(--display); font-weight: 400; font-size: 1.3rem; line-height: 1.35; }
.ho-lectures { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
.ho-lecture__link { display: flex; flex-direction: column; height: 100%; padding: 1.15rem 1.2rem 1rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(13, 19, 34, .55); color: var(--text); text-decoration: none; transition: transform .25s var(--ease), border-color .25s; }
.ho-lecture__link:hover { transform: translateY(-3px); border-color: rgba(79, 227, 240, .5); }
.ho-lecture__no { font-family: var(--mono); color: var(--cyan); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.ho-lecture__title { font-family: var(--display); font-weight: 500; font-size: 1.08rem; line-height: 1.3; margin: .45rem 0 .4rem; }
.ho-lecture__who { font-weight: 600; font-size: .9rem; color: var(--muted); }
.ho-lecture__desc { font-size: .92rem; color: var(--muted); margin-top: .4rem; }
.ho-lecture__play { margin-top: auto; padding-top: .8rem; font-family: var(--mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan); }
.ho-lecture__play::before { content: "▶ "; }

/* contact, forms */
.ho-anchor { position: relative; top: -6.5rem; }
.ho-formcard { padding: clamp(1.4rem, 3.5vw, 2.6rem); }
.ho-formcard__title { margin-top: 0; }
.ho-formcard__lead { color: var(--muted); }
.ho-card2 { padding: clamp(1.3rem, 3vw, 2rem); }
.ho-card2__h { font-size: 1.25rem; margin: 0 0 .6rem; }
.ho-card2__phone a { font-family: var(--display); font-weight: 600; font-size: 1.6rem; color: var(--text); text-decoration: none; }
.ho-card2 address { font-style: normal; margin: .6rem 0; color: var(--muted); }
.ho-card2__reviews { margin-top: 1rem; font-size: .95rem; }
.ho-officevid { max-width: 48rem; }
.ho-nf .nf-form-fields-required { font-size: .82rem; color: var(--muted); margin-bottom: .9rem; font-family: var(--mono); letter-spacing: .04em; }
.ho-nf nf-fields-wrap { display: flex; flex-wrap: wrap; gap: 0 1rem; }
.ho-nf nf-field { flex: 1 1 100%; }
.ho-nf nf-field:has(.rh-half) { flex: 1 1 calc(50% - .5rem); min-width: min(100%, 13rem); }
.ho-nf .nf-field-container { margin-bottom: 1.1rem !important; }
.ho-nf .nf-field-label label, .ho-nf .nf-field-label .nf-label-span { font-weight: 600; font-size: .95rem; color: var(--text); }
.ho-nf .ninja-forms-req-symbol { color: var(--coral); }
.ho-nf input[type="text"], .ho-nf input[type="email"], .ho-nf input[type="tel"], .ho-nf textarea {
	width: 100%; font: inherit; color: var(--text); background: rgba(5, 7, 13, .7); border: 1px solid var(--line-2); border-radius: 12px; padding: .8rem .9rem; transition: border-color .2s, box-shadow .2s; }
.ho-nf input::placeholder, .ho-nf textarea::placeholder { color: #8C9AB2; }
.ho-nf input:focus, .ho-nf textarea:focus { outline: none; border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(79, 227, 240, .25); }
.ho-nf textarea { min-height: 7rem; }
.ho-nf .rh-chips-field ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ho-nf .rh-chips-field li { position: relative; margin: 0 !important; }
.ho-nf .rh-chips-field input[type="radio"] { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ho-nf .rh-chips-field li label { display: inline-block; margin: 0 !important; padding: .55rem 1rem; border: 1px solid var(--line-2); border-radius: 999px; background: rgba(13, 19, 34, .7); color: var(--text); font-weight: 600; cursor: pointer; }
.ho-nf .rh-chips-field input:checked + label { background: var(--cyan); color: var(--void); border-color: var(--cyan); box-shadow: 0 0 18px -4px rgba(79, 227, 240, .9); }
.ho-nf .rh-chips-field input:focus-visible + label { outline: 2px solid var(--cyan); outline-offset: 3px; }
.ho-nf .nf-error-msg, .ho-nf .nf-error .nf-error-msg { color: #FF9C82; font-weight: 600; font-size: .9rem; margin-top: .3rem; }
.ho-nf .nf-error .ninja-forms-field { border-color: var(--coral); }
.ho-nf input[type="submit"], .ho-nf input[type="button"] { font: 700 1.02rem var(--body); background: var(--cyan); color: var(--void); border: 0; border-radius: 999px; padding: .95rem 1.7rem; cursor: pointer; box-shadow: 0 12px 34px -12px rgba(79, 227, 240, .9); }
.ho-nf input[type="submit"]:hover { background: #fff; }
.ho-nf .nf-form-errors { color: #FF9C82; font-weight: 600; }
.ho-nf .nf-after-form-content { display: none; }
.ho-nf .pikaday__display { color: var(--text); }
/* "transmission received" */
.ho-success { text-align: center; padding: clamp(1rem, 3vw, 2rem) 0; }
.ho-success:focus { outline: none; }
.ho-success__badge { width: 8.5rem; margin: 0 auto 1rem; filter: drop-shadow(0 0 18px rgba(79, 227, 240, .6)); }
.ho-success__badge svg { display: block; width: 100%; height: auto; }
@media (prefers-reduced-motion: no-preference) {
	.ho-success__ring { stroke-dasharray: 100; animation: ho-draw 1s var(--ease) both; transform-origin: 80px 80px; }
	.ho-success__tick { stroke-dasharray: 100; animation: ho-draw .6s .6s var(--ease) both; }
}
@keyframes ho-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
.ho-success__kick { font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan); margin: 0; }
.ho-success__title { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 2.8rem); margin: .4rem 0 .6rem; }
.ho-success__title span { display: block; font-size: .55em; color: var(--muted); margin-top: .35rem; font-weight: 400; }
.ho-success__lead { max-width: 30rem; margin: 0 auto .6rem; color: var(--muted); }
.ho-success__links { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin-top: 1.3rem; }
.ho-btn { display: inline-block; font-weight: 700; padding: .8rem 1.3rem; border-radius: 999px; background: var(--cyan); color: var(--void); text-decoration: none; }
.ho-btn--ghost { background: transparent; color: var(--cyan); box-shadow: inset 0 0 0 1px var(--cyan); }
.ho-btn:hover { background: #fff; color: var(--void); }
.ho-confetti { position: fixed; inset: 0; z-index: 200; pointer-events: none; }

/* ============================================================================================================
   Blog: data cards, the article page
   ============================================================================================================ */
.ho-pagehead--blog .ho-pagehead__inner { display: block; }
.ho-pagehead--blog h1 { max-width: 20ch; }
.ho-search { margin: 1.5rem 0 1rem; max-width: 36rem; }
.ho-search .wp-block-search__inside-wrapper { gap: .5rem; }
.ho-search .wp-block-search__input { font: inherit; color: var(--text); background: rgba(5, 7, 13, .7); border: 1px solid var(--line-2); border-radius: 999px; padding: .75rem 1.1rem; }
.ho-search .wp-block-search__input::placeholder { color: #8C9AB2; }
.ho-search .wp-block-search__button { font: 700 .98rem var(--body); background: var(--cyan); color: var(--void); border: 0; border-radius: 999px; padding: .75rem 1.3rem; margin-left: 0; }
.ho-chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.ho-chips a { display: inline-block; padding: .4rem .85rem; border-radius: 999px; border: 1px solid var(--line-2); color: var(--text); text-decoration: none; font-weight: 600; font-size: .88rem; }
.ho-chips a:hover, .ho-chips a[aria-current="page"] { background: var(--cyan); color: var(--void); border-color: var(--cyan); }
.ho-section--flush { padding-top: clamp(2rem, 4vw, 3rem) !important; }
.ho-loop__grid { gap: clamp(1rem, 2.4vw, 1.5rem) !important; }
.ho-clip { height: 100%; border-radius: 18px; border: 1px solid var(--line); background: var(--glass), rgba(13, 19, 34, .55); overflow: hidden; transition: border-color .3s, transform .3s var(--ease); }
.ho-clip:hover, .ho-clip:focus-within { border-color: rgba(79, 227, 240, .5); transform: translateY(-3px); }
.ho-clip__media { margin: 0 !important; position: relative; }
.ho-clip__media img { filter: grayscale(1) contrast(1.1) brightness(.85); transition: filter .4s; }
.ho-clip__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(79, 227, 240, .5), rgba(169, 155, 255, .4)); mix-blend-mode: color; transition: opacity .4s; }
.ho-clip:hover .ho-clip__media img, .ho-clip:focus-within .ho-clip__media img { filter: none; }
.ho-clip:hover .ho-clip__media::after, .ho-clip:focus-within .ho-clip__media::after { opacity: 0; }
.ho-clip__body { padding: .9rem 1.1rem 1.15rem; }
.ho-clip__date { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.ho-clip__title { font-size: 1.08rem !important; font-weight: 500 !important; margin: .35rem 0 .45rem !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.ho-clip__title a { color: var(--text); text-decoration: none; }
.ho-clip__title a:hover { color: var(--cyan); }
.ho-clip__text { font-size: .94rem; color: var(--muted); margin: 0; }
.ho-clip__text p { margin: 0; }
.ho-pager { margin-top: 2.5rem; gap: .5rem; font-family: var(--mono); font-size: .9rem; }
.ho-pager a, .ho-pager .page-numbers { padding: .45rem .8rem; color: var(--text); text-decoration: none; border-radius: 999px; border: 1px solid transparent; }
.ho-pager .page-numbers.current { border-color: var(--cyan); color: var(--cyan); }
.ho-pager a:hover { border-color: var(--line-2); }

.ho-single__article { padding-top: clamp(2.5rem, 5vw, 4rem) !important; }
.ho-single__head { max-width: 46rem; margin-inline: auto !important; }
.ho-single__cats { font-family: var(--mono); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.ho-single__cats a { color: var(--cyan); text-decoration: none; }
.ho-single__title { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem) !important; margin: .4rem 0 .6rem !important; }
.ho-single__date { font-family: var(--mono); font-size: .8rem; color: var(--muted); letter-spacing: .08em; }
.ho-single__media { max-width: 50rem; margin: 1.8rem auto 2.2rem !important; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); }
.ho-single__media img { display: block; }
.ho-prose { font-size: 1.08rem; }
.ho-prose h2 { font-size: clamp(1.45rem, 1.2rem + 1vw, 1.9rem); margin-top: 2.4rem; }
.ho-prose h3 { margin-top: 1.9rem; font-size: 1.2rem; }
.ho-prose img { max-width: 100%; height: auto; border-radius: 12px; }
.ho-prose .alignright, .ho-prose img.alignright { float: right; margin: .3rem 0 1rem 1.5rem; max-width: 45%; }
.ho-prose .alignleft, .ho-prose img.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; max-width: 45%; }
.ho-prose .aligncenter { display: block; margin-inline: auto; }
.ho-prose iframe { max-width: 100%; aspect-ratio: 16 / 9; height: auto; width: 100%; border: 0; border-radius: 14px; }
.ho-prose ul li::marker, .ho-prose ol li::marker { color: var(--cyan); }
.ho-prose blockquote { border-left: 2px solid var(--violet); margin-left: 0; padding-left: 1.2rem; font-family: var(--display); font-size: 1.15rem; }
.ho-prose table { border-collapse: collapse; width: 100%; } .ho-prose td, .ho-prose th { border: 1px solid var(--line); padding: .5rem; }
.ho-prose::after { content: ""; display: table; clear: both; }
@media (max-width: 600px) { .ho-prose .alignright, .ho-prose .alignleft, .ho-prose img.alignright, .ho-prose img.alignleft { float: none; display: block; margin: 1rem auto; max-width: 100%; } }
.ho-single__sign { max-width: 46rem; margin: 2.6rem auto 0 !important; padding: 1.1rem 1.3rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(13, 19, 34, .55); }
.ho-single__sign p { margin: 0; }
.ho-404 { text-align: center; }
.ho-404__art { font-size: clamp(1rem, .8rem + 1.5vw, 1.6rem); letter-spacing: .3em; color: var(--coral); text-shadow: 0 0 20px rgba(255, 122, 89, .6); margin: 0 auto 1rem; }
.ho-404 .ho-note { justify-content: center; }
.ho-404 .ho-search { margin-inline: auto; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
