/*
Theme Name: 906AM
Theme URI: https://906am.com
Author: 906AM LLC
Description: Lightweight block theme for 906AM LLC — AI, cybersecurity and reliability engineering.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
License: Proprietary
Text Domain: am906
*/

:root {
	--night: var(--wp--preset--color--night);
	--surface: var(--wp--preset--color--surface);
	--line: var(--wp--preset--color--line);
	--text: var(--wp--preset--color--text);
	--muted: var(--wp--preset--color--muted);
	--dawn: var(--wp--preset--color--dawn);
	--ember: var(--wp--preset--color--ember);
	--red: var(--wp--preset--color--red);
	--blue: var(--wp--preset--color--blue);
	--purple: var(--wp--preset--color--purple);
	--mono: var(--wp--preset--font-family--mono);
	color-scheme: dark;
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
::selection { background: var(--dawn); color: #0b0d12; }
a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--dawn); outline-offset: 3px; border-radius: 4px; }

/* Sections stack flush; each section owns its vertical rhythm. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.site-main > .wp-block-post-content > * { margin-block-start: 0; }

/* ---------- Header ---------- */
header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50;
	background: rgba(7, 9, 15, 0.82);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	border-bottom: 1px solid var(--line);
}
.site-header__row { padding-block: 0.9rem; gap: 1.5rem; }
.brand { margin: 0; font-family: var(--mono); font-weight: 700; font-size: 1.25rem; letter-spacing: 0.02em; line-height: 1; }
.brand a { color: #fff; text-decoration: none; }
.brand em { font-style: normal; color: var(--dawn); }

.site-nav { font-size: 0.93rem; }
.site-nav .wp-block-navigation__container { gap: 1.5rem; }
.site-nav .wp-block-navigation-item__content { color: var(--muted); text-decoration: none; transition: color 0.15s; }
.site-nav .wp-block-navigation-item__content:hover,
.site-nav .current-menu-item > .wp-block-navigation-item__content { color: #fff; }
.site-nav .nav-cta > .wp-block-navigation-item__content {
	color: #0b0d12; background: var(--dawn); padding: 0.5rem 0.95rem; border-radius: 8px; font-weight: 650;
}
.site-nav .nav-cta > .wp-block-navigation-item__content:hover { background: var(--ember); color: #0b0d12; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--night) !important; color: var(--text) !important; padding: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.15rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: #fff; }
@media (max-width: 1020px) and (min-width: 600px) {
	.site-nav .wp-block-navigation__container { gap: 1rem; }
	.site-nav { font-size: 0.86rem; }
}

/* ---------- Sections ---------- */
.section { padding-block: clamp(3.5rem, 8vw, 6.5rem); border-bottom: 1px solid var(--line); }
.section.alt { background: var(--surface); }
.section.tight { padding-block: clamp(2.5rem, 5vw, 4rem); }
.wrap > * { margin-block: 0; }
.wrap > * + * { margin-block-start: 1.25rem; }
.wrap > h2 + p, .wrap > h1 + p { margin-block-start: 1.1rem; }
.wrap > .cards, .wrap > .steps { margin-block-start: 2.5rem; }
.wrap > h2 { max-width: 22ch; }
.wrap > h2.wide { max-width: 32ch; }

.eyebrow {
	font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--dawn); margin: 0;
}
.lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; color: #c6cede; max-width: 44rem; }
.muted, .wrap > p:not([class]) { color: var(--muted); }
.wrap > p:not([class]) { max-width: 46rem; }
.muted { font-size: 0.95rem; }

/* ---------- Hero ---------- */
.hero {
	position: relative; isolation: isolate; overflow: hidden;
	padding-block: clamp(4.5rem, 12vw, 9rem) clamp(4rem, 10vw, 8rem);
	border-bottom: 1px solid var(--line);
}
.hero::before {
	content: ""; position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(60% 55% at 50% 118%, rgba(255, 122, 69, 0.55), rgba(255, 180, 84, 0.18) 45%, transparent 72%),
		radial-gradient(90% 60% at 50% 125%, rgba(169, 123, 255, 0.18), transparent 70%),
		linear-gradient(#07090f, #0a0e19);
}
.hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.35;
	background-image:
		linear-gradient(rgba(147, 160, 184, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(147, 160, 184, 0.12) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(75% 70% at 50% 100%, #000, transparent 75%);
	mask-image: radial-gradient(75% 70% at 50% 100%, #000, transparent 75%);
}
.hero h1 { max-width: 16ch; margin-block-start: 1.25rem; text-wrap: balance; }
.hero.sub { padding-block: clamp(3.5rem, 8vw, 6rem) clamp(3rem, 7vw, 5rem); }
.hero.sub h1 { max-width: 20ch; font-size: clamp(2.1rem, 5vw, 3.25rem); }
.hero.red::before { background: radial-gradient(60% 55% at 50% 118%, rgba(255, 77, 94, 0.45), rgba(169, 123, 255, 0.2) 45%, transparent 72%), radial-gradient(70% 60% at 85% 120%, rgba(77, 163, 255, 0.3), transparent 70%), linear-gradient(#07090f, #0a0e19); }
.hero .wp-block-buttons { margin-block-start: 2rem; }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: #fff; border: 1px solid rgba(232, 236, 244, 0.28); padding: calc(0.8rem - 1px) calc(1.3rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--dawn); color: var(--dawn); background: transparent; }
.wp-block-button__link { transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s; }
.wp-block-button__link:hover { transform: translateY(-1px); }

/* ---------- Cards ---------- */
.cards { gap: 1.1rem; }
.card {
	--accent: var(--dawn);
	position: relative; background: linear-gradient(180deg, rgba(255,255,255,0.025), transparent 40%), var(--surface);
	border: 1px solid var(--line); border-radius: 14px; padding: 1.6rem 1.5rem 1.5rem;
	transition: border-color 0.2s, transform 0.2s;
}
.section.alt .card { background: linear-gradient(180deg, rgba(255,255,255,0.03), transparent 40%), var(--night); }
.card::before {
	content: ""; position: absolute; left: 1.5rem; right: 1.5rem; top: -1px; height: 2px;
	background: linear-gradient(90deg, var(--accent), transparent 85%); border-radius: 2px;
}
.card:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); transform: translateY(-2px); }
.card.red { --accent: var(--red); } .card.blue { --accent: var(--blue); } .card.purple { --accent: var(--purple); }
.card > * { margin-block: 0; }
.card > * + * { margin-block-start: 0.75rem; }
.card .eyebrow { color: var(--accent); font-size: 0.72rem; }
.card h3 { font-size: 1.2rem; }
.card p:not(.eyebrow) { color: var(--muted); font-size: 0.97rem; line-height: 1.6; }
.card .more { font-size: 0.92rem; font-weight: 600; }
.card .more a { color: var(--accent); text-decoration: none; }
.card .more a:hover { text-decoration: underline; }
.card ul { color: var(--muted); font-size: 0.95rem; }

ul.checks { list-style: none; padding-left: 0; }
ul.checks li { position: relative; padding-left: 1.5rem; margin-block: 0.45rem; line-height: 1.5; }
ul.checks li::before {
	content: ""; position: absolute; left: 0.1rem; top: 0.55em; width: 0.5rem; height: 0.5rem;
	border-radius: 2px; background: var(--accent, var(--dawn)); transform: rotate(45deg); opacity: 0.9;
}

/* ---------- Steps ---------- */
.steps { counter-reset: step; gap: 1.1rem; }
.step { counter-increment: step; border-top: 1px solid var(--line); padding-top: 1.25rem; }
.step::before {
	content: "0" counter(step); display: block; font-family: var(--mono); font-size: 0.8rem;
	letter-spacing: 0.14em; color: var(--dawn); margin-bottom: 0.75rem;
}
.step > * { margin-block: 0; }
.step > * + * { margin-block-start: 0.6rem; }
.step h3 { font-size: 1.12rem; }
.step p { color: var(--muted); font-size: 0.96rem; }

/* ---------- Tags / credential strip ---------- */
.tags { font-family: var(--mono); font-size: 0.82rem; letter-spacing: 0.04em; color: var(--muted); line-height: 2.3; max-width: none !important; }
.tags strong {
	font-weight: 500; color: #c6cede; border: 1px solid var(--line); border-radius: 999px;
	padding: 0.35rem 0.8rem; margin-right: 0.35rem; white-space: nowrap; background: rgba(255,255,255,0.02);
}

/* ---------- Split (two-column) ---------- */
.split { gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.split > .wp-block-group > * { margin-block: 0; }
.split > .wp-block-group > * + * { margin-block-start: 1.1rem; }
.split p:not([class]) { color: var(--muted); }
.split.red { --accent: var(--red); } .split.blue { --accent: var(--blue); } .split.purple { --accent: var(--purple); }
.split.red .eyebrow, .split.blue .eyebrow, .split.purple .eyebrow { color: var(--accent); }
.panel { border: 1px solid var(--line); border-radius: 14px; padding: 1.5rem; background: rgba(255,255,255,0.02); }
.panel > * { margin-block: 0; }
.panel > * + * { margin-block-start: 0.8rem; }
.panel h3 { font-size: 1rem; font-family: var(--mono); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #c6cede; }
.panel ul { color: var(--muted); font-size: 0.96rem; margin-block-start: 0.6rem; }

/* ---------- CTA band ---------- */
.cta { position: relative; isolation: isolate; overflow: hidden; text-align: left; border-bottom: 0; }
.cta::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: radial-gradient(55% 90% at 100% 100%, rgba(255, 122, 69, 0.28), transparent 70%), var(--surface);
}
.cta h2 { max-width: 24ch; }

/* ---------- Contact form ---------- */
.am906-form { display: grid; gap: 1rem; max-width: 40rem; }
.am906-form .row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) { .am906-form .row { grid-template-columns: 1fr; } }
.am906-form label { display: grid; gap: 0.4rem; font-size: 0.85rem; color: #c6cede; font-weight: 500; }
.am906-form input, .am906-form select, .am906-form textarea {
	font: inherit; font-size: 1rem; color: var(--text); background: var(--night); border: 1px solid var(--line);
	border-radius: 8px; padding: 0.75rem 0.85rem; width: 100%; box-sizing: border-box; transition: border-color 0.15s;
}
.am906-form textarea { min-height: 9rem; resize: vertical; }
.am906-form input:focus, .am906-form select:focus, .am906-form textarea:focus { outline: none; border-color: var(--dawn); }
.am906-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.am906-form button {
	justify-self: start; font: inherit; font-weight: 650; cursor: pointer; border: 0; border-radius: 8px;
	background: var(--dawn); color: #0b0d12; padding: 0.85rem 1.4rem; transition: background 0.15s;
}
.am906-form button:hover { background: var(--ember); }
.am906-form .fine { font-size: 0.82rem; color: var(--muted); margin: 0; }
.am906-notice { border: 1px solid var(--line); border-left: 3px solid var(--dawn); border-radius: 8px; padding: 1rem 1.15rem; max-width: 40rem; background: rgba(255,255,255,0.02); }
.am906-notice.err { border-left-color: var(--red); }
.am906-notice[hidden] { display: none; }

/* ---------- Blog / fallback prose ---------- */
.prose-main { padding-block: clamp(3rem, 7vw, 5rem); }
.prose-main > * { max-width: 46rem; }

/* ---------- Footer ---------- */
.site-footer { padding-block: 3.5rem 2rem; border-top: 1px solid var(--line); background: #05070c; }
.site-footer__grid { gap: 2rem; }
.site-footer__grid > .wp-block-group > * { margin-block: 0; }
.site-footer__grid > .wp-block-group > * + * { margin-block-start: 0.9rem; }
.site-footer .eyebrow { color: var(--muted); }
.footlinks { line-height: 2; font-size: 0.95rem; }
.footlinks a { color: #c6cede; text-decoration: none; }
.footlinks a:hover { color: var(--dawn); }
.site-footer__legal { margin-block-start: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: 0.82rem; color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}
