/*
Theme Name: K4EQM Classic Logbook
Theme URI: https://k4eqm.com/
Author: Matthew Archibald / ChatGPT
Author URI: https://k4eqm.com/
Description: A customizable modern-classic WordPress theme for K4EQM.com with two-column blog layout, inline featured images, ham radio project pages, social/profile links, full-width/sidebar page templates, and a QSO Fieldbook-inspired dark/amber visual style.
Version: 1.2.1
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: k4eqm-classic-logbook
Tags: blog, two-columns, right-sidebar, left-sidebar, custom-logo, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/

:root {
  --k4eqm-bg: #070d12;
  --k4eqm-paper: #0f1720;
  --k4eqm-paper-2: #141f2a;
  --k4eqm-text: #edf2f7;
  --k4eqm-muted: #a9b6c4;
  --k4eqm-accent: #f4b63e;
  --k4eqm-accent-2: #3cb8d4;
  --k4eqm-header-bg: #060b10;
  --k4eqm-header-text: #f8fafc;
  --k4eqm-footer-bg: #060b10;
  --k4eqm-footer-text: #f8fafc;
  --k4eqm-border: rgba(244, 182, 62, .16);
  --k4eqm-site-width: 1240px;
  --k4eqm-sidebar-width: 320px;
  --k4eqm-radius: 18px;
  --k4eqm-radius-small: 12px;
  --k4eqm-font-scale: 1;
  --k4eqm-title-scale: 1;
  --k4eqm-shadow: 0 22px 70px rgba(0, 0, 0, .34);
  --k4eqm-soft-shadow: 0 12px 34px rgba(0, 0, 0, .22);
  --k4eqm-gradient: radial-gradient(circle at 16% -8%, rgba(244, 182, 62, .16), transparent 32rem), radial-gradient(circle at 86% 8%, rgba(60, 184, 212, .15), transparent 30rem), linear-gradient(180deg, #0b131b 0%, var(--k4eqm-bg) 44rem);
  --k4eqm-header-gradient: radial-gradient(circle at 12% 0%, rgba(244, 182, 62, .24), transparent 26rem), radial-gradient(circle at 88% 14%, rgba(60, 184, 212, .24), transparent 28rem), linear-gradient(135deg, #05090d 0%, var(--k4eqm-header-bg) 100%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--k4eqm-bg);
  background-image: var(--k4eqm-gradient);
  background-attachment: fixed;
  color: var(--k4eqm-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: calc(17px * var(--k4eqm-font-scale));
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.k4eqm-font-system { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
body.k4eqm-font-serif { font-family: Georgia, 'Times New Roman', serif; }
body.k4eqm-font-mono { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', 'Courier New', monospace; }

img { max-width: 100%; height: auto; }
a { color: var(--k4eqm-accent-2); text-decoration-thickness: .08em; text-underline-offset: .18em; transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
a:hover, a:focus { color: var(--k4eqm-accent); }
button, input, select, textarea { font: inherit; }
::selection { background: color-mix(in srgb, var(--k4eqm-accent) 35%, transparent); }
.screen-reader-text, .sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.skip-link:focus {
  clip: auto !important;
  clip-path: none;
  height: auto;
  left: 1rem;
  top: 1rem;
  width: auto;
  z-index: 100000;
  background: #fff;
  color: #111827;
  padding: .7rem 1rem;
  border-radius: 999px;
  box-shadow: var(--k4eqm-soft-shadow);
}

.site-header {
  position: relative;
  background: var(--k4eqm-header-bg);
  background-image: var(--k4eqm-header-gradient);
  color: var(--k4eqm-header-text);
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 70px rgba(5, 12, 18, .22);
  overflow: visible;
}
.site-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--k4eqm-accent), var(--k4eqm-accent-2), transparent);
}
.site-header a { color: var(--k4eqm-header-text); text-decoration: none; }
.site-header a:hover, .site-header a:focus { color: var(--k4eqm-accent); }
.k4eqm-topbar {
  max-width: var(--k4eqm-site-width);
  margin: 0 auto;
  padding: .55rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: .84rem;
  color: color-mix(in srgb, var(--k4eqm-header-text) 80%, transparent);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.k4eqm-topbar-text {
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 700;
}
.k4eqm-social-links { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.k4eqm-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.k4eqm-social-link:hover, .k4eqm-social-link:focus {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--k4eqm-accent) 80%, white 20%);
  background: rgba(245, 158, 11, .15);
}
.k4eqm-social-link svg { width: 17px; height: 17px; fill: currentColor; }
.k4eqm-social-link.k4eqm-social-text { width: auto; min-width: 34px; padding: 0 .64rem; font-size: .72rem; letter-spacing: .04em; font-weight: 800; }

.k4eqm-branding-row {
  max-width: var(--k4eqm-site-width);
  margin: 0 auto;
  padding: 1.65rem 1rem 1.85rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(.85rem, 2vw, 1.25rem);
  align-items: center;
}
.k4eqm-header-center .k4eqm-branding-row { grid-template-columns: 1fr; text-align: center; }
.site-branding { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.k4eqm-header-center .site-branding { justify-content: center; flex-direction: column; }
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.custom-logo-link img { display: block; max-height: var(--k4eqm-logo-height, 90px); width: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.25)); }
.site-branding-text { min-width: 0; }
.site-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, calc(3.2rem * var(--k4eqm-title-scale)));
  line-height: .95;
  letter-spacing: .035em;
  text-transform: uppercase;
  font-weight: 900;
}
.site-title a {
  background: linear-gradient(90deg, var(--k4eqm-header-text), color-mix(in srgb, var(--k4eqm-accent) 45%, white 55%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.site-description {
  margin: .55rem 0 0;
  color: color-mix(in srgb, var(--k4eqm-header-text) 72%, transparent);
  font-size: clamp(.95rem, 1.7vw, 1.08rem);
  max-width: 58ch;
}
.k4eqm-header-center .site-description { margin-left: auto; margin-right: auto; }
.k4eqm-header-center .main-navigation { justify-content: center; }
.k4eqm-header-center .primary-menu { justify-content: center; }

.main-navigation { display: flex; justify-content: flex-start; align-items: center; width: 100%; }
.menu-toggle {
  display: none;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color: var(--k4eqm-header-text);
  padding: .66rem .92rem;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
}
.primary-menu { list-style: none; margin: 0; padding: .35rem; display: flex; flex-wrap: wrap; gap: .2rem; justify-content: flex-start; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.07); backdrop-filter: blur(14px); border-radius: 999px; }
.primary-menu a { display: block; padding: .64rem .9rem; border-radius: 999px; font-weight: 800; line-height: 1.1; }
.primary-menu a:hover, .primary-menu a:focus, .primary-menu .current-menu-item > a { background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.primary-menu .sub-menu { display: none; position: absolute; list-style: none; padding: .45rem; margin: .35rem 0 0; background: color-mix(in srgb, var(--k4eqm-header-bg) 92%, white 8%); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; min-width: 220px; z-index: 20; box-shadow: 0 18px 45px rgba(0,0,0,.24); }
.primary-menu li { position: relative; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { display: block; }
.primary-menu .sub-menu a { padding: .65rem .75rem; border-radius: 12px; }

.site-content {
  max-width: var(--k4eqm-site-width);
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 2.35rem) 1rem clamp(2rem, 4vw, 3.5rem);
}
.content-sidebar-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--k4eqm-sidebar-width);
  gap: clamp(1.1rem, 2.5vw, 1.8rem);
  align-items: start;
}
body.k4eqm-left-sidebar .content-sidebar-wrap { grid-template-columns: var(--k4eqm-sidebar-width) minmax(0, 1fr); }
body.k4eqm-left-sidebar .site-main { grid-column: 2; grid-row: 1; }
body.k4eqm-left-sidebar .widget-area { grid-column: 1; grid-row: 1; }
body.k4eqm-no-sidebar .content-sidebar-wrap,
body.page-template-full-width .content-sidebar-wrap,
body.page-template-landing-blog .content-sidebar-wrap { grid-template-columns: 1fr; }
body.k4eqm-no-sidebar .widget-area,
body.page-template-full-width .widget-area,
body.page-template-landing-blog .widget-area { display: none; }
body.k4eqm-sticky-sidebar .widget-area { position: sticky; top: 1.1rem; }

.site-main, .widget-area, .k4eqm-card {
  background: color-mix(in srgb, var(--k4eqm-paper) 94%, transparent);
  border: 1px solid var(--k4eqm-border);
  border-radius: var(--k4eqm-radius);
  box-shadow: var(--k4eqm-soft-shadow);
}
body.k4eqm-content-boxed .site-main,
body.k4eqm-content-boxed .widget-area,
body.k4eqm-content-boxed .k4eqm-card { box-shadow: none; }
body.k4eqm-content-shadow .site-main,
body.k4eqm-content-shadow .widget-area,
body.k4eqm-content-shadow .k4eqm-card,
body.k4eqm-content-modern .site-main,
body.k4eqm-content-modern .widget-area,
body.k4eqm-content-modern .k4eqm-card { box-shadow: var(--k4eqm-shadow); }
body.k4eqm-content-minimal .site-main,
body.k4eqm-content-minimal .widget-area,
body.k4eqm-content-minimal .k4eqm-card { background: transparent; border: 0; box-shadow: none; }
.site-main { padding: clamp(1rem, 2.1vw, 1.55rem); min-width: 0; }
.widget-area { padding: 1rem; }
body.k4eqm-content-modern .site-main { background: transparent; border: 0; box-shadow: none; padding: 0; }
body.k4eqm-content-modern .widget-area { background: rgba(255,255,255,.86); backdrop-filter: blur(18px); }

.widget { margin: 0 0 1rem; padding: .9rem; border-radius: var(--k4eqm-radius-small); }
.widget:last-child { margin-bottom: 0; }
.widget-title, .widget h2, .widget h3 { margin: 0 0 .7rem; font-size: .98rem; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--k4eqm-border); padding-bottom: .55rem; }
.widget ul { padding-left: 1.15rem; }
.widget li + li { margin-top: .32rem; }
.widget select, .widget input[type='text'], .widget input[type='search'] { max-width: 100%; }

.entry { border-bottom: 1px solid var(--k4eqm-border); padding: 0 0 1.55rem; margin: 0 0 1.55rem; }
body.k4eqm-content-modern .entry {
  border: 1px solid var(--k4eqm-border);
  border-radius: var(--k4eqm-radius);
  padding: clamp(1rem, 2.3vw, 1.45rem);
  margin: 0 0 clamp(1rem, 2.3vw, 1.45rem);
  background: rgba(255,255,255,.9);
  box-shadow: var(--k4eqm-soft-shadow);
  backdrop-filter: blur(18px);
}
.entry:last-child { border-bottom: 0; margin-bottom: 0; }
body.k4eqm-content-modern .entry:last-child { border-bottom: 1px solid var(--k4eqm-border); margin-bottom: 0; padding-bottom: clamp(1rem, 2.3vw, 1.45rem); }
.entry-title { font-size: clamp(1.55rem, 3vw, calc(2.15rem * var(--k4eqm-title-scale))); line-height: 1.16; margin: 0 0 .45rem; font-weight: 850; letter-spacing: -.025em; }
.entry-title a { color: var(--k4eqm-text); text-decoration: none; }
.entry-title a:hover, .entry-title a:focus { color: var(--k4eqm-accent-2); }
.entry-meta, .entry-footer, .comment-metadata { color: var(--k4eqm-muted); font-size: .87rem; }
.entry-meta { display: flex; flex-wrap: wrap; gap: .4rem .65rem; align-items: center; }
.entry-meta span, .entry-footer span { margin-right: .2rem; }
.entry-meta span::before, .entry-footer span::before { color: color-mix(in srgb, var(--k4eqm-accent-2) 70%, var(--k4eqm-muted)); }
.entry-meta a, .entry-footer a { color: inherit; }
.entry-meta a:hover, .entry-footer a:hover { color: var(--k4eqm-accent-2); }
.entry-content, .entry-summary { margin-top: 1rem; }
.entry-content > *:first-child, .entry-summary > *:first-child { margin-top: 0; }
.entry-content > *:last-child, .entry-summary > *:last-child { margin-bottom: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { line-height: 1.2; letter-spacing: -.02em; }
.entry-content table { width: 100%; border-collapse: collapse; border-radius: var(--k4eqm-radius-small); overflow: hidden; }
.entry-content th, .entry-content td { border: 1px solid var(--k4eqm-border); padding: .58rem .65rem; }
.entry-content th { background: var(--k4eqm-paper-2); }
.entry-content blockquote { border-left: 4px solid var(--k4eqm-accent); margin-left: 0; padding: .15rem 0 .15rem 1rem; color: var(--k4eqm-muted); font-size: 1.05em; }
.k4eqm-read-more {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .55rem;
  font-weight: 850;
  text-decoration: none;
}
.k4eqm-read-more::after { content: '→'; transition: transform .16s ease; }
.k4eqm-read-more:hover::after { transform: translateX(3px); }

.k4eqm-index-media { margin-bottom: .95rem; text-decoration: none; }
.k4eqm-index-media img {
  display: block;
  width: 100%;
  border-radius: calc(var(--k4eqm-radius) - 4px);
  border: 1px solid var(--k4eqm-border);
  background: var(--k4eqm-paper-2);
  box-shadow: 0 10px 24px rgba(10, 22, 34, .08);
  object-fit: cover;
  transition: transform .18s ease, box-shadow .18s ease;
}
.k4eqm-index-media:hover img, .k4eqm-index-media:focus img { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(10, 22, 34, .14); }
.k4eqm-index-thumb-left .k4eqm-index-media { float: left; width: min(42%, 360px); margin: .25rem 1.15rem .65rem 0; }
.k4eqm-index-thumb-right .k4eqm-index-media { float: right; width: min(42%, 360px); margin: .25rem 0 .65rem 1.15rem; }
.k4eqm-index-thumb-top .k4eqm-index-media { display: block; width: min(100%, 620px); }
.k4eqm-index-body::after { content: ''; display: table; clear: both; }
.post-thumbnail-single { display: block; margin: 0 0 1.1rem; }
.post-thumbnail-single img { display: block; width: 100%; border-radius: var(--k4eqm-radius); box-shadow: var(--k4eqm-soft-shadow); }

.page-header { border-bottom: 1px solid var(--k4eqm-border); margin: 0 0 1.35rem; padding-bottom: 1rem; }
body.k4eqm-content-modern .page-header { background: rgba(255,255,255,.9); border: 1px solid var(--k4eqm-border); border-radius: var(--k4eqm-radius); padding: 1.2rem; box-shadow: var(--k4eqm-soft-shadow); }
.page-title { margin: 0; font-size: clamp(1.85rem, 4vw, calc(2.45rem * var(--k4eqm-title-scale))); line-height: 1.1; letter-spacing: -.03em; }
.archive-description { color: var(--k4eqm-muted); }

.nav-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.nav-previous, .nav-next { max-width: 48%; }
.posts-navigation, .post-navigation { border-top: 1px solid var(--k4eqm-border); padding-top: 1rem; }
.posts-navigation a, .post-navigation a { display: inline-flex; padding: .7rem .9rem; border: 1px solid var(--k4eqm-border); border-radius: 999px; background: rgba(255,255,255,.72); text-decoration: none; font-weight: 800; }
.posts-navigation a:hover, .post-navigation a:hover { background: var(--k4eqm-paper); box-shadow: var(--k4eqm-soft-shadow); }

.comments-area { margin-top: 1.5rem; border-top: 1px solid var(--k4eqm-border); padding-top: 1rem; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--k4eqm-border); }
.comment-body { background: var(--k4eqm-paper-2); padding: 1rem; border-radius: var(--k4eqm-radius-small); border: 1px solid var(--k4eqm-border); }
.comment-author .avatar { border-radius: 999px; vertical-align: middle; margin-right: .35rem; }
.comment-form input[type='text'], .comment-form input[type='email'], .comment-form input[type='url'], .comment-form textarea, .search-field,
input[type='text'], input[type='email'], input[type='url'], input[type='search'], textarea, select {
  width: 100%;
  padding: .76rem .82rem;
  border: 1px solid var(--k4eqm-border);
  border-radius: var(--k4eqm-radius-small);
  background: #fff;
  color: var(--k4eqm-text);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.comment-form input:focus, .comment-form textarea:focus, .search-field:focus, input:focus, textarea:focus, select:focus {
  border-color: color-mix(in srgb, var(--k4eqm-accent-2) 65%, var(--k4eqm-border));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--k4eqm-accent-2) 13%, transparent);
}
.search-form { display: flex; gap: .45rem; align-items: stretch; }
.search-form label { flex: 1; }
.submit, .search-submit, .wp-block-button__link, .button, button[type='submit'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--k4eqm-accent-2), color-mix(in srgb, var(--k4eqm-accent-2) 70%, #111827 30%));
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: .76rem 1rem;
  cursor: pointer;
  text-decoration: none;
  font-weight: 850;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--k4eqm-accent-2) 22%, transparent);
}
.submit:hover, .search-submit:hover, .wp-block-button__link:hover, .button:hover, button[type='submit']:hover { transform: translateY(-1px); background: linear-gradient(135deg, var(--k4eqm-accent), color-mix(in srgb, var(--k4eqm-accent) 70%, #111827 30%)); color: #111827; }

.k4eqm-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top right, color-mix(in srgb, var(--k4eqm-accent) 22%, transparent), transparent 22rem), linear-gradient(135deg, var(--k4eqm-paper), var(--k4eqm-paper-2));
  border: 1px solid var(--k4eqm-border);
  border-radius: calc(var(--k4eqm-radius) + 4px);
  padding: clamp(1.35rem, 4vw, 3rem);
  margin-bottom: 1.5rem;
  box-shadow: var(--k4eqm-soft-shadow);
}
.k4eqm-hero h1 { margin-top: 0; font-size: clamp(2.1rem, 5vw, calc(3.45rem * var(--k4eqm-title-scale))); line-height: 1; letter-spacing: -.05em; }
.k4eqm-hero p { max-width: 760px; font-size: 1.08em; color: var(--k4eqm-muted); }
.k4eqm-project-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.k4eqm-project-card { padding: 1rem; background: var(--k4eqm-paper); border: 1px solid var(--k4eqm-border); border-radius: var(--k4eqm-radius); box-shadow: var(--k4eqm-soft-shadow); transition: transform .16s ease, box-shadow .16s ease; }
.k4eqm-project-card:hover { transform: translateY(-2px); box-shadow: var(--k4eqm-shadow); }
.k4eqm-project-card h2 { margin: .35rem 0; font-size: 1.25rem; line-height: 1.2; }
.k4eqm-project-card img { border-radius: var(--k4eqm-radius-small); }

.site-footer { background: var(--k4eqm-footer-bg); background-image: linear-gradient(135deg, var(--k4eqm-footer-bg), color-mix(in srgb, var(--k4eqm-footer-bg) 86%, var(--k4eqm-accent-2) 14%)); color: var(--k4eqm-footer-text); border-top: 1px solid rgba(255,255,255,.12); }
.site-footer a { color: var(--k4eqm-footer-text); text-decoration: none; }
.site-footer a:hover { color: var(--k4eqm-accent); }
.site-info { max-width: var(--k4eqm-site-width); margin: 0 auto; padding: 1.4rem 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; flex-wrap: wrap; }
.footer-menu { list-style: none; display: flex; gap: .8rem; flex-wrap: wrap; margin: 0; padding: 0; }

.alignwide { max-width: min(100%, calc(var(--k4eqm-site-width) - 2rem)); }
.alignfull { width: calc(100% + 2.5rem); max-width: none; margin-left: -1.25rem; margin-right: -1.25rem; }
.wp-caption { max-width: 100%; }
.wp-caption-text, figcaption { color: var(--k4eqm-muted); font-size: .85rem; }
.gallery { display: grid; gap: .75rem; }
.sticky { position: relative; }
.sticky::before { content: 'Featured'; display: inline-flex; margin-bottom: .7rem; padding: .25rem .55rem; border-radius: 999px; background: color-mix(in srgb, var(--k4eqm-accent) 18%, transparent); color: color-mix(in srgb, var(--k4eqm-accent) 72%, #111827 28%); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.bypostauthor { outline: 0; }


/* QSO Fieldbook-inspired dark logbook skin.
   Keeps the K4EQM layout/features while borrowing the dark-panel, amber-action,
   clean table-style feel from QSO Fieldbook. */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .17;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}
.site-header {
  border-bottom-color: rgba(244, 182, 62, .20);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .42);
}
.site-header::after {
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--k4eqm-accent), var(--k4eqm-accent-2), transparent);
}
.k4eqm-topbar {
  color: color-mix(in srgb, var(--k4eqm-header-text) 74%, transparent);
  border-bottom-color: rgba(244, 182, 62, .16);
}
.k4eqm-topbar-text::before {
  content: '•';
  color: var(--k4eqm-accent);
  margin-right: .55rem;
}
.k4eqm-social-link,
.primary-menu {
  background: rgba(15, 23, 32, .72);
  border-color: rgba(244, 182, 62, .20);
}
.k4eqm-social-link:hover,
.k4eqm-social-link:focus {
  background: rgba(244, 182, 62, .16);
  color: var(--k4eqm-accent);
}
.primary-menu a:hover,
.primary-menu a:focus,
.primary-menu .current-menu-item > a {
  background: rgba(244, 182, 62, .16);
  color: var(--k4eqm-accent);
  box-shadow: inset 0 0 0 1px rgba(244, 182, 62, .18);
}
.site-main,
.widget-area,
.k4eqm-card,
body.k4eqm-content-modern .entry,
body.k4eqm-content-modern .page-header,
body.k4eqm-content-modern .widget-area {
  background: color-mix(in srgb, var(--k4eqm-paper) 88%, transparent);
  border-color: var(--k4eqm-border);
  backdrop-filter: blur(18px);
}
.site-main,
.widget-area,
.k4eqm-card,
body.k4eqm-content-modern .entry {
  box-shadow: var(--k4eqm-soft-shadow), inset 0 1px 0 rgba(255,255,255,.035);
}
.widget {
  background: color-mix(in srgb, var(--k4eqm-paper-2) 72%, transparent);
  border: 1px solid rgba(244, 182, 62, .10);
}
.widget-title,
.widget h2,
.widget h3 {
  color: var(--k4eqm-accent);
  border-bottom-color: rgba(244, 182, 62, .18);
}
.entry-title a { color: var(--k4eqm-text); }
.entry-title a:hover,
.entry-title a:focus { color: var(--k4eqm-accent); }
.entry-meta,
.entry-footer,
.comment-metadata { color: var(--k4eqm-muted); }
.entry-meta a:hover,
.entry-footer a:hover { color: var(--k4eqm-accent); }
.k4eqm-index-media img,
.post-thumbnail-single img {
  border-color: rgba(244, 182, 62, .20);
  background: var(--k4eqm-paper-2);
}
.entry-content th {
  background: rgba(244, 182, 62, .12);
  color: var(--k4eqm-accent);
  text-transform: uppercase;
  font-size: .86em;
  letter-spacing: .06em;
}
.entry-content tr:nth-child(even) td { background: rgba(255,255,255,.025); }
.entry-content blockquote {
  background: rgba(244, 182, 62, .06);
  border-radius: 0 var(--k4eqm-radius-small) var(--k4eqm-radius-small) 0;
}
.posts-navigation a,
.post-navigation a,
.comment-body {
  background: color-mix(in srgb, var(--k4eqm-paper-2) 82%, transparent);
  border-color: var(--k4eqm-border);
}
.posts-navigation a:hover,
.post-navigation a:hover {
  background: color-mix(in srgb, var(--k4eqm-accent) 12%, var(--k4eqm-paper-2));
  color: var(--k4eqm-accent);
}
.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea,
.search-field,
input[type='text'],
input[type='email'],
input[type='url'],
input[type='search'],
textarea,
select {
  background: color-mix(in srgb, var(--k4eqm-paper-2) 88%, black 12%);
  color: var(--k4eqm-text);
  border-color: rgba(244, 182, 62, .18);
}
.comment-form input:focus,
.comment-form textarea:focus,
.search-field:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--k4eqm-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--k4eqm-accent) 16%, transparent);
}
.submit,
.search-submit,
.wp-block-button__link,
.button,
button[type='submit'] {
  background: linear-gradient(135deg, var(--k4eqm-accent), #d9941e);
  color: #121821;
  box-shadow: 0 10px 24px rgba(244, 182, 62, .20);
}
.submit:hover,
.search-submit:hover,
.wp-block-button__link:hover,
.button:hover,
button[type='submit']:hover {
  background: linear-gradient(135deg, #ffd36a, var(--k4eqm-accent));
  color: #0b1118;
}
.k4eqm-read-more { color: var(--k4eqm-accent); }
.k4eqm-hero {
  background: radial-gradient(circle at top right, color-mix(in srgb, var(--k4eqm-accent) 18%, transparent), transparent 24rem), linear-gradient(135deg, color-mix(in srgb, var(--k4eqm-paper) 94%, black 6%), var(--k4eqm-paper-2));
  border-color: rgba(244, 182, 62, .20);
}
.k4eqm-hero h1,
.page-title { color: var(--k4eqm-text); }
.k4eqm-project-card {
  background: color-mix(in srgb, var(--k4eqm-paper-2) 80%, transparent);
  border-color: rgba(244, 182, 62, .14);
}
.site-footer {
  border-top-color: rgba(244, 182, 62, .18);
  background-image: radial-gradient(circle at 18% 0%, rgba(244, 182, 62, .12), transparent 24rem), linear-gradient(135deg, var(--k4eqm-footer-bg), #08121a);
}
.sticky::before {
  background: rgba(244, 182, 62, .16);
  color: var(--k4eqm-accent);
  border: 1px solid rgba(244, 182, 62, .22);
}

/* Keep the primary pages/menu directly under the logo/site title. */
.k4eqm-branding-row {
  grid-template-columns: 1fr;
}
.main-navigation {
  width: 100%;
  justify-content: flex-start;
}
.k4eqm-header-center .main-navigation {
  justify-content: center;
}
.k4eqm-header-center .primary-menu {
  justify-content: center;
}
.primary-menu ul,
.primary-menu .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 980px) {
  .k4eqm-branding-row { grid-template-columns: 1fr; }
  .main-navigation { justify-content: stretch; flex-direction: column; align-items: stretch; }
  .menu-toggle { display: inline-flex; align-self: flex-start; }
  .primary-menu { display: none; flex-direction: column; margin-top: .65rem; justify-content: flex-start; border-radius: 20px; align-items: stretch; }
  .main-navigation.toggled .primary-menu { display: flex; }
  .primary-menu a { border-radius: 14px; }
  .primary-menu .sub-menu { position: static; display: block; padding-left: .55rem; border: 0; background: transparent; box-shadow: none; margin: 0; }
  .content-sidebar-wrap, body.k4eqm-left-sidebar .content-sidebar-wrap { grid-template-columns: 1fr; }
  body.k4eqm-left-sidebar .site-main, body.k4eqm-left-sidebar .widget-area { grid-column: auto; grid-row: auto; }
  .widget-area { position: static !important; }
  .k4eqm-topbar { flex-direction: column; align-items: flex-start; }
  .k4eqm-index-thumb-left .k4eqm-index-media, .k4eqm-index-thumb-right .k4eqm-index-media { float: none; width: min(100%, 620px); margin: 0 0 .95rem; }
}

@media (max-width: 620px) {
  body { font-size: calc(16px * var(--k4eqm-font-scale)); }
  .site-main, .widget-area { padding: .95rem; }
  body.k4eqm-content-modern .site-main { padding: 0; }
  .k4eqm-branding-row { padding-top: 1.25rem; padding-bottom: 1.35rem; }
  .site-branding { align-items: flex-start; }
  .site-title { font-size: clamp(1.8rem, 12vw, 2.45rem); }
  .entry-title { font-size: calc(1.45rem * var(--k4eqm-title-scale)); }
  .entry-meta { display: block; }
  .entry-meta span { display: inline-block; margin: 0 .45rem .25rem 0; }
  .nav-links { flex-direction: column; }
  .nav-previous, .nav-next { max-width: 100%; }
  .search-form { flex-direction: column; }
  .alignfull { width: 100%; margin-left: 0; margin-right: 0; }
}
