@custom-media --motionOK      (prefers-reduced-motion: no-preference);@custom-media --motionNotOK   (prefers-reduced-motion: reduce);@custom-media --opacityOK     (prefers-reduced-transparency: no-preference);@custom-media --opacityNotOK  (prefers-reduced-transparency: reduce);@custom-media --useDataOK     (prefers-reduced-data: no-preference);@custom-media --useDataNotOK  (prefers-reduced-data: reduce);@custom-media --OSdark        (prefers-color-scheme: dark);@custom-media --OSlight       (prefers-color-scheme: light);@custom-media --highContrast  (prefers-contrast: more);@custom-media --lowContrast   (prefers-contrast: less);@custom-media --invertedColors  (inverted-colors: inverted);@custom-media --forcedColors  (forced-colors: active);@custom-media --portrait      (orientation: portrait);@custom-media --landscape     (orientation: landscape);@custom-media --HDcolor       (dynamic-range: high) or (color-gamut: p3);@custom-media --touch         (hover: none) and (pointer: coarse);@custom-media --stylus        (hover: none) and (pointer: fine);@custom-media --pointer       (hover) and (pointer: coarse);@custom-media --mouse         (hover) and (pointer: fine);@custom-media --xxs-only       (min-width: 0px) and      (max-width: 239.98px);@custom-media --xxs-n-above (min-width: 240px);@custom-media --xxs-n-below (max-width: 239.98px);@custom-media --xxs-phone     (--xxs-only) and (--portrait);@custom-media --xs-only        (min-width: 240px) and       (max-width: 359.98px);@custom-media --xs-n-above (min-width: 360px);@custom-media --xs-n-below (max-width: 359.98px);@custom-media --xs-phone      (--xs-only) and (--portrait);@custom-media --sm-only        (min-width: 360px) and       (max-width: 479.98px);@custom-media --sm-n-above (min-width: 480px);@custom-media --sm-n-below (max-width: 479.98px);@custom-media --sm-phone      (--sm-only) and (--portrait);@custom-media --md-only        (min-width: 480px) and       (max-width: 767.98px);@custom-media --md-n-above (min-width: 768px);@custom-media --md-n-below (max-width: 767.98px);@custom-media --md-phone      (--md-only) and (--portrait);@custom-media --lg-only        (min-width: 768px) and       (max-width: 1023.98px);@custom-media --lg-n-above (min-width: 1024px);@custom-media --lg-n-below (max-width: 1023.98px);@custom-media --lg-phone      (--lg-only) and (--portrait);@custom-media --xl-only        (min-width: 1024px) and       (max-width: 1439.98px);@custom-media --xl-n-above (min-width: 1440px);@custom-media --xl-n-below (max-width: 1439.98px);@custom-media --xxl-only       (min-width: 1440px) and      (max-width: 1919.98px);@custom-media --xxl-n-above (min-width: 1920px);@custom-media --xxl-n-below (max-width: 1919.98px);/* axiomcodex.net - Custom CSS with Helvetica Neue and Dark Mode Support *//* Last updated: 1759884937 - Dark mode navigation text color fix *//* Box sizing reset */*, ::before, ::after {
    box-sizing: border-box;
}/* HTML and body styling with Helvetica Neue */html {
    font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Roboto, Arial, sans-serif, Apple Color Emoji, 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}body {
    min-height: 100vh;
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    display: grid;
    grid-gap: 3vw;
    gap: 3vw;
    grid-template-rows: min-content 1fr min-content;
    background-color: var(--surface-1);
    color: var(--text-1);
    line-height: 1.6;
}/* Force remove all underlines from all links everywhere */a,
a:link,
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: none !important;
}/* General link color */a {
}/* Header/Footer menu links */.header-menu a,
.footer-menu a {
  padding: var(--size-2) var(--size-3);
  border-radius: var(--radius-2);
  transition: background-color 0.3s ease;
}.header-menu a:hover,
.footer-menu a:hover {
  background-color: var(--gray-5);
  color: var(--gray-1);
}.header-menu li.active a,
.footer-menu li.active a {
  color: white;
}/* Animated underline for content links only (not menu/social) */main a,
article a,
p a {
  position: relative;
}main a::after,
article a::after,
p a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  transition: width 0.3s ease;
}main a:hover::after,
article a:hover::after,
p a:hover::after {
  width: 100%;
}/* General link hover - subtle opacity change for content links */main a:hover {
    opacity: 0.7;
    transition: opacity 0.2s ease;
}/* Sticky header styling */.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 1rem 0;
}/* Footer styling - no border */footer {
    border-top: none;
    text-align: center;
    padding: 20px 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}/* Header menu container with theme toggle */.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}.site-header .header-menu {
    flex: 1;
}/* Header and footer menu styling *//* Header menu - brand left, items right */.header-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}/* First item (brand) stays on left */.header-menu li.brand-item {
    margin-right: auto;
}.header-menu li.brand-item a {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}/* Other menu items group on right */.header-menu li:not(.brand-item) {
    margin-left: 1.5rem;
}.header-menu li {
    margin: 0;
}/* Footer menu unchanged */.footer-menu {
    width: 100%;
}.footer-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}.footer-menu li {
    margin: 0;
}.header-menu a,
.footer-menu a {
    text-decoration: none !important;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
    font-size: 1rem;
}.header-menu a:hover,
.footer-menu a:hover {
}.header-menu li.active a,
.footer-menu li.active a {
    font-weight: 600;
}/* Footer menu specific styling */.footer-menu {
    margin-bottom: 1rem;
}.footer-menu ul {
    gap: 1rem;
    font-size: 0.9rem;
}/* Homepage specific styles */.template-homepage main {
    text-align: center;
}/* Typography */h1, h2, h3, h4, h5, h6 {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 1rem;
    color: var(--text-1);
}h1 {
    font-size: 2.5rem;
}h2 {
    font-size: 2rem;
}h3 {
    font-size: 1.5rem;
}p {
    margin-bottom: 1rem;
}/* Form styling */form {
    max-width: 600px;
    margin: 2rem auto;
}form p {
    margin-bottom: 1.5rem;
}/* Label and helptext inline */form p > label {
    display: inline-block;
    margin-bottom: 0.25rem;
    margin-right: 0;
    font-weight: 500;
    color: var(--text-1);
}form p > .helptext-wrapper {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.5rem;
}/* Input fields below label row */form p > input[type="text"],
form p > input[type="email"],
form p > input[type="url"],
form p > input[type="tel"],
form p > input[type="number"],
form p > input[type="date"],
form p > textarea,
form p > select {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
}/* Required field indicator */label .asteriskField {
    color: var(--red-6);
    margin-left: 0.25rem;
}/* Help text tooltip wrapper */.helptext-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 0.5rem;
    vertical-align: middle;
}/* Help text icon (?) */.helptext-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: var(--indigo-6);
    color: white;
    font-size: 0.75rem;
    font-weight: bold;
    cursor: help;
    transition: background-color 0.2s ease;
}.helptext-icon:hover {
    background-color: var(--indigo-7);
}/* Help text popup */.helptext {
    position: absolute;
    left: 0;
    top: calc(100% + 0.5rem);
    min-width: 200px;
    max-width: 300px;
    padding: 0.75rem;
    background-color: var(--surface-2);
    color: var(--text-1);
    border: 1px solid var(--surface-3);
    border-radius: var(--radius-2);
    font-size: 0.875rem;
    line-height: 1.4;
    box-shadow: var(--shadow-3);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}.helptext-wrapper:hover .helptext {
    opacity: 1;
    visibility: visible;
}/* Rectangular input fields */input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid var(--surface-3);
    border-radius: var(--radius-2);
    background-color: var(--surface-1);
    color: var(--text-1);
    font-family: inherit;
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--indigo-6);
    box-shadow: 0 0 0 3px var(--indigo-2);
}textarea {
    min-height: 150px;
    resize: vertical;
}/* Checkbox and radio styling */input[type="checkbox"],
input[type="radio"] {
    margin-right: 0.5rem;
    width: 1.25rem;
    height: 1.25rem;
    cursor: pointer;
}/* Rectangular submit button */input[type="submit"],
button[type="submit"] {
    background-color: var(--indigo-6);
    color: white;
    padding: 0.75rem 2rem;
    border: none;
    border-radius: var(--radius-2);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    font-family: inherit;
}input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: var(--indigo-7);
    transform: translateY(-1px);
}input[type="submit"]:active,
button[type="submit"]:active {
    transform: translateY(0);
}/* Error messages */.errorlist {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
}.errorlist li {
    color: var(--red-6);
    font-size: 0.875rem;
    margin-top: 0.25rem;
}.error input,
.error textarea,
.error select {
    border-color: var(--red-6);
}/* DateTime display styling */.datetime-display {
    padding: 0.75rem;
    background-color: var(--surface-2);
    border: 2px solid var(--surface-3);
    border-radius: var(--radius-2);
    color: var(--text-1);
    font-size: 1rem;
}/* Dark mode toggle button *//* Social media icons */.social-links {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    margin: 1.5rem 0;
}.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background-color: var(--surface-2);
    color: var(--text-1);
    transition: all 0.3s ease;
    text-decoration: none !important;
}.social-links a:hover {
    color: white;
    transform: translateY(-3px) scale(1.05);
}.social-links a svg {
    width: 2rem;
    height: 2rem;
}/* Dark mode improvements */[data-theme="dark"] .header-menu a:hover,
[data-theme="dark"] .footer-menu a:hover,
[data-theme="dark"] .header-menu li.active a,
[data-theme="dark"] .footer-menu li.active a {
    border-bottom-color: var(--indigo-3);
}/* Responsive Design */@media (--md-n-below) {
    body {
        padding: 15px;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .social-links {
        gap: 1rem;
    }
    
    .social-links a {
        width: 3rem;
        height: 3rem;
    }
    
    .social-links a svg {
        width: 1.75rem;
        height: 1.75rem;
    }
    
    .header-menu ul,
    .footer-menu ul {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .header-menu a,
    .footer-menu a {
        padding: 0.5rem;
    }
    
    form {
        margin: 1rem 0;
    }
    
    input[type="submit"],
    button[type="submit"] {
        width: 100%;
    }
    
    .helptext {
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        max-width: 90vw;
    }
}/* Copyright notice styling */.footer-menu {
    margin-top: var(--size-3);
}.footer-menu ul {
    gap: 0;
}.footer-menu a {
    font-size: var(--font-size-0);
    font-weight: var(--font-weight-3);
    padding: var(--size-1);
    opacity: 0.7;
}.footer-menu a:hover {
    opacity: 1;
    background-color: transparent;
}/* Adjust body for sticky header */body {
    padding-top: 0;
}/* Responsive navigation */@media (--md-n-below) {
    .header-menu ul {
        padding: 0 1rem;
    }
    
    .header-menu li.brand-item a {
        font-size: 1.25rem;
    }
    
    .header-menu li:not(.brand-item) {
        margin-left: 1rem;
        font-size: 0.9rem;
    }
}@media (--sm-n-below) {
    .header-menu ul {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    
    .header-menu li.brand-item {
        width: 100%;
        margin-bottom: 0.5rem;
        text-align: center;
    }
    
    .header-menu li:not(.brand-item) {
        margin-left: 0.5rem;
    }
}/* Header menu - black text on transparent background - Updated: 1759883397 */.header-menu a {
    color: #000000 !important;
}/* Dark mode - white text for navigation */[data-theme="dark"] .header-menu a {
    color: #ffffff !important;
}[data-theme="dark"] .header-menu a:hover {
    color: #e0e0e0 !important;
}.header-menu a:hover {
    color: #333333 !important;
    background-color: transparent !important;
}/* ===== Theme Toggle (Web.dev Open-Props Style) ===== *//* Updated: 2025-10-08T21:00:00Z */.theme-toggle {
    --size: 2rem;
    --icon-fill: hsl(210 10% 30%);
    --icon-fill-hover: hsl(210 10% 15%);
    
    background: none;
    border: none;
    padding: 0;
    inline-size: 2rem;
    inline-size: var(--size);
    block-size: 2rem;
    block-size: var(--size);
    aspect-ratio: 1;
    border-radius: 50%;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    outline-offset: 5px;
    margin-left: 1rem;
}[data-theme="dark"] .theme-toggle {
    --icon-fill: hsl(210 10% 70%);
    --icon-fill-hover: hsl(210 15% 90%);
}.theme-toggle > svg {
    inline-size: 100%;
    block-size: 100%;
    stroke-linecap: round;
}.sun-and-moon > :is(.moon, .sun, .sun-beams) {
    transform-origin: center;
}.sun-and-moon > :is(.moon, .sun) {
    fill: var(--icon-fill);
}.theme-toggle:is(:hover, :focus-visible) > .sun-and-moon > :is(.moon, .sun) {
    fill: var(--icon-fill-hover);
}.sun-and-moon > .sun-beams {
    stroke: var(--icon-fill);
    stroke-width: 2px;
}.theme-toggle:is(:hover, :focus-visible) .sun-and-moon > .sun-beams {
    stroke: var(--icon-fill-hover);
}[data-theme="dark"] .sun-and-moon > .sun {
    transform: scale(1.75);
}[data-theme="dark"] .sun-and-moon > .sun-beams {
    opacity: 0;
}[data-theme="dark"] .sun-and-moon > .moon > circle {
    transform: translateX(-7px);
}@supports (cx: 1) {
    [data-theme="dark"] .sun-and-moon > .moon > circle {
        cx: 17;
        transform: translateX(0);
    }
}@media (prefers-reduced-motion: no-preference) {
    .sun-and-moon > .sun {
        transition: transform .5s var(--ease-elastic-3);
    }

    .sun-and-moon > .sun-beams {
        transition: transform .5s var(--ease-elastic-4), opacity .5s var(--ease-3);
    }

    .sun-and-moon .moon > circle {
        transition: transform .25s var(--ease-out-5);
    }

    @supports (cx: 1) {
        .sun-and-moon .moon > circle {
            transition: cx .25s var(--ease-out-5);
        }
    }

    [data-theme="dark"] .sun-and-moon > .sun {
        transition-timing-function: var(--ease-3);
        transition-duration: .25s;
        transform: scale(1.75);
    }

    [data-theme="dark"] .sun-and-moon > .sun-beams {
        transition-duration: .15s;
        transform: rotateZ(-25deg);
    }

    [data-theme="dark"] .sun-and-moon > .moon > circle {
        transition-duration: .5s;
        transition-delay: .25s;
    }
}/* Updated: 2025-10-09T21:35:09Z - Added Cloudflare Turnstile *//* Breadcrumb Navigation Styles */.breadcrumb-nav {
    background: var(--surface-2);
    border-bottom: 1px solid var(--surface-3);
    padding: var(--size-3) 0;
    margin-bottom: var(--size-6);
}.breadcrumb {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--size-2);
    font-size: var(--font-size-1);
}.breadcrumb-item {
    display: flex;
    align-items: center;
}.breadcrumb-item:not(:last-child)::after {
    content: '/';
    color: var(--text-2);
    margin-left: var(--size-2);
}.breadcrumb-item a {
    color: var(--brand);
    text-decoration: none;
    transition: color 0.2s ease;
}.breadcrumb-item a:hover {
    color: var(--brand-dark, var(--indigo-8));
    text-decoration: underline;
}.breadcrumb-item.active {
    color: var(--text-2);
    font-weight: var(--font-weight-4);
}/* Responsive breadcrumbs */@media (--md-n-below) {
    .breadcrumb {
        font-size: var(--font-size-0);
        gap: var(--size-1);
    }
    
    .breadcrumb-item:not(:last-child)::after {
        margin-left: var(--size-1);
    }
}/* Updated: 2025-10-11T03:04:00Z - Added breadcrumb navigation *//* Updated: 2025-10-11T03:20:00Z - Switched to custom template tag with smart filtering *//* Left-aligned breadcrumb update */.breadcrumb-nav .container {
    text-align: left;
    max-width: none;
    padding-left: var(--size-4);
    padding-right: var(--size-4);
}.breadcrumb {
    justify-content: flex-start;
}/* Updated: 2025-10-11T03:48:00Z - Left-aligned breadcrumb navigation *//* REMOVED: Mobile Navigation - Responsive Layout *//* Desktop menu - hide on mobile */@media (--md-n-below) {
    .header-menu {
        display: none;
    }
    
    /*REMOVED*/ #mobile-nav-mount {
        display: block;
    }
}/* Desktop - hide mobile nav */@media (--md-n-above) {
    /*REMOVED*/ #mobile-nav-mount {
        display: none !important;
    }
}/* Header container flexbox for proper alignment */.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--size-3);
}/* Updated: 2025-10-11T06:16:00Z - Added mobile hamburger menu with svelte-hamburgers *//* Updated: 2025-10-11T07:59:17Z - mobile nav deploy *//* Updated: 2025-10-11T08:00:28Z - mobile nav deploy *//* Updated: 2025-10-11T08:12:00Z - mobile nav bundle *//* Updated: 2025-10-11T08:14:55Z - persist mobile nav *//* Updated: 2025-10-11T08:35:00Z - switched to iife script *//* Updated: 2025-10-11T08:42:25Z - mobile nav debug *//* Updated: 2025-10-11T08:46:26Z - mobile nav css/js synced *//* Updated: 2025-10-11T09:08:47Z - start-over remove hamburger *//* Updated: 2025-10-11T09:17:40Z - podman deploy *//* === Mobile Popover Menu (Open Props) === */.hamburger {
  border: 1px solid var(--gray-2);
  padding: var(--size-1);
  border-radius: var(--radius-2);
  background: none;
}.hamburger:hover { background: var(--gray-2); }/* Desktop vs mobile visibility */@media (--md-n-below) {
  .header-menu { display: none; }
  .hamburger { display: inline-flex; }
}@media (--md-n-above) {
  .hamburger { display: none; }
}/* Popover panel */[popover] {
  position: relative;
  border: 1px solid var(--gray-6);
  border-radius: var(--radius-2);
  box-shadow: var(--shadow-3);
  padding: var(--size-6);
  inset: 20px 20px auto 20px;
  width: calc(100vw - 40px);
  font-size: var(--font-size-3);
  background: var(--surface-1);
  color: var(--text-1);
}[popover] .nav-mobile {
  display: flex;
  flex-direction: column;
  gap: var(--size-2);
}[popover] .nav-mobile a {
  border-bottom: 1px solid var(--gray-2);
  padding: var(--size-2) 0;
}[popover] .nav-mobile a:last-child { border-bottom: none; }/* Opening animation */:popover-open {
  opacity: 0;
  animation:
    var(--animation-fade-in) forwards,
    var(--animation-slide-in-down) forwards;
  animation-delay: 0.2s;
  animation-duration: 0.3s;
  animation-timing-function: var(--ease-in-out-3);
}/* Close button inside popover */[popover] .close {
  position: absolute;
  inset: 20px 20px auto auto;
  background: none;
  border: 0;
  border-radius: var(--radius-2);
}/* Dimmed backdrop */::backdrop {
  background: #0004;
  backdrop-filter: blur(2px);
  opacity: 0;
  animation: var(--animation-fade-in) forwards;
  animation-duration: 0.3s;
  animation-timing-function: var(--ease-in-out-3);
}/* Fallback if Popover API missing */[popover][data-open] {
  display: block;
  position: fixed;
  top: 20px;
  left: 20px;
  right: 20px;
  z-index: 1000;
}body[data-popover-open]::before {
  content: '';
  position: fixed;
  inset: 0;
  background: #0004;
  backdrop-filter: blur(2px);
  z-index: 999;
}/* Updated: 2025-10-11T11:49:14Z *//* Updated: 2025-10-11T16:06:47Z - Mobile menu polish (prevent background scroll while open) */body[data-popover-open] { overflow: hidden; }/* REMOVED: previous temporary nav overrides */@media (--md-n-below) {
  .hamburger { display: inline-flex !important; }
  .header-menu { display: none !important; }
}@media (--md-n-above) {
  .hamburger { display: none !important; }
  .header-menu { display: block !important; }
}/* End fix *//* Navigation visibility policy (authoritative) *//* Base: desktop shows header-menu, hides hamburger */.hamburger { display: none !important; }.header-menu { display: block; }/* Token-based: md and below => mobile */@media (--md-n-below) {
  .hamburger { display: inline-flex !important; }
  .header-menu { display: none !important; }
}/* Token-based: md and above => desktop */@media (--md-n-above) {
  .hamburger { display: none !important; }
  .header-menu { display: block !important; }
}/* Fallback (compiled or no custom media) */@media (max-width: 768px) {
  .hamburger { display: inline-flex !important; }
  .header-menu { display: none !important; }
}@media (min-width: 769px) {
  .hamburger { display: none !important; }
  .header-menu { display: block !important; }
}/* End: Navigation visibility policy *//* Updated: 2025-10-12T15:00:52Z */
