/* AHL brand layer. Technical canvases retain their original dark work surface. */
:root {
  --background: 0 0% 100%;
  --foreground: 0 0% 20%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 20%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 20%;
  --primary: 96 48% 50%;
  --primary-foreground: 0 0% 10%;
  --accent: 96 48% 50%;
  --accent-foreground: 0 0% 10%;
  --secondary: 0 0% 96%;
  --secondary-foreground: 0 0% 20%;
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 35%;
  --border: 0 0% 87%;
  --input: 0 0% 84%;
  --ring: 96 48% 50%;
  --radius: 0.375rem;
  --sidebar-background: 150 5% 12%;
  --sidebar-foreground: 0 0% 95%;
  --sidebar-primary: 96 48% 50%;
  --sidebar-primary-foreground: 0 0% 10%;
  --sidebar-accent: 150 5% 19%;
  --sidebar-accent-foreground: 0 0% 100%;
  --sidebar-border: 150 3% 25%;
  --sidebar-ring: 96 48% 50%;
  --gradient-primary: #72bc41;
  --gradient-dark: #ffffff;
  --shadow-card: none;
  --shadow-card-hover: none;
  --shadow-button: none;
  --shadow-glow: none;
  --glow-primary: none;
}
html { color-scheme: light; }
body { color: #595959; background: #fff; }
h1, h2, h3, h4, .font-heading {
  font-family: Oswald, "Arial Narrow", sans-serif;
  letter-spacing: .015em;
}
h1, h2, h3 { color: #333; }
h1[class*="bg-gradient"], h2[class*="bg-gradient"], h3[class*="bg-gradient"] {
  color: #333;
  background-image: none;
  -webkit-text-fill-color: currentColor;
}
.glass {
  background: #fff;
  border-color: #dedede;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.gradient-primary {
  background: hsl(var(--primary));
  color: #182310;
  box-shadow: none;
}
button.gradient-primary:hover, a.gradient-primary:hover { filter: none; }
.glow-primary { box-shadow: none; }
.shadow-button { box-shadow: none; }
.tech-grid { background-image: none; }
.text-primary, .text-accent { color: color-mix(in srgb, hsl(var(--primary)) 62%, #18370d); }
.hover\:text-primary:hover, .hover\:text-accent:hover { color: color-mix(in srgb, hsl(var(--primary)) 48%, #18370d); }
.border-primary { border-color: hsl(var(--primary)); }
.bg-primary { background-color: hsl(var(--primary)); }
.bg-accent { background-color: hsl(var(--accent)); }
.bg-clip-text.text-transparent[class*="from-primary"] {
  color: #333;
  background-image: none;
  -webkit-text-fill-color: currentColor;
}
[role="tablist"] { border-radius: 5px; }
[role="tab"][data-state="active"] { box-shadow: none; }
button, input, textarea, [role="combobox"] { transition-duration: 180ms; }
input:focus-visible, textarea:focus-visible { outline-color: hsl(var(--primary)); }
img[alt="AHL logo"] { max-width: 180px; object-fit: contain; filter: brightness(0); }
header.glass, .ahl-footer, [data-sidebar="sidebar"] {
  --background: 150 5% 12%;
  --foreground: 0 0% 100%;
  --card: 150 5% 15%;
  --card-foreground: 0 0% 100%;
  --muted: 150 5% 20%;
  --muted-foreground: 0 0% 79%;
  --border: 150 3% 27%;
  --input: 150 3% 34%;
  --accent-foreground: 0 0% 10%;
  background: #1d211e;
  border-color: #363c37;
  color: white;
}
header.glass { border-width: 0 0 1px; }
header.glass img[alt="AHL logo"], .ahl-footer img[alt="AHL logo"], [data-sidebar="sidebar"] img[alt="AHL logo"] {
  filter: none;
}
header.glass img[alt="AHL logo"] { height: 46px; }
header.glass .text-primary, header.glass .text-accent,
.ahl-footer .text-primary, .ahl-footer .text-accent,
[data-sidebar="sidebar"] .text-primary { color: color-mix(in srgb, hsl(var(--primary)) 80%, white); }
[data-sidebar="sidebar"] h1, [data-sidebar="sidebar"] h2, [data-sidebar="sidebar"] h3 { color: #fff; }
.ahl-footer { padding: 42px 0 28px; }
.ahl-footer img[alt="AHL logo"] { height: 60px; }
.ahl-footer a { color: #fff; }
.ahl-footer a:hover { color: #9bd17a; }
.ahl-footer .text-xs { color: #b8beb9; }
.ahl-hero {
  --background: 150 5% 5%;
  --foreground: 0 0% 100%;
  --card: 150 5% 8%;
  --card-foreground: 0 0% 100%;
  --muted-foreground: 0 0% 87%;
  --border: 150 3% 34%;
  color: #fff;
  background: #0d100e;
}
.ahl-hero > nav {
  padding: 20px 4.5%;
  min-height: 88px;
  background: rgb(0 0 0 / 32%);
  border-bottom: 1px solid rgb(255 255 255 / 12%);
}
.ahl-hero > nav img[alt="AHL logo"] { height: 48px; filter: none; }
.ahl-hero > nav a { border-radius: 999px; font-family: Oswald, sans-serif; letter-spacing: .035em; }
.ahl-hero h1 {
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: .012em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: none;
}
.ahl-hero h1 > span {
  color: #fff;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.ahl-hero h1 + p { font-size: 1.2rem; letter-spacing: .065em; text-transform: uppercase; }
.ahl-hero p.italic { font-style: normal; font-size: 1rem; font-weight: 400; }
.ahl-hero .text-accent, .ahl-hero .text-primary { color: color-mix(in srgb, hsl(var(--primary)) 70%, white); }
.ahl-hero .gradient-primary {
  color: #fff;
  border: 1px solid hsl(var(--primary));
  border-radius: 999px;
  background: rgb(7 16 6 / 22%);
  box-shadow: none;
  font-family: Oswald, "Arial Narrow", sans-serif;
  letter-spacing: .05em;
  font-weight: 400;
  min-width: 240px;
}
.ahl-hero .gradient-primary:hover { background: hsl(var(--primary)); color: #152310; }
.ahl-technical-view {
  --foreground: 0 0% 96%;
  --muted-foreground: 215 20% 72%;
  --border: 220 10% 25%;
  --card: 230 17% 9%;
  color: #eff3f4;
  color-scheme: dark;
}
.ahl-technical-view h3 { color: #fff; }
.ahl-technical-view .text-primary, .ahl-technical-view .text-accent { color: #9dd578; }
/* The power summary is on a light panel; preserve the actual SVG wire colors. */
[class~="text-[#e8a54d]"] { color: #824e07; }
.ahl-not-found { --foreground: 0 0% 100%; color: #fff; background: #151c17; }
.ahl-not-found h1[class*="bg-gradient"], .ahl-not-found h2 {
  color: #fff;
  background-image: none;
  -webkit-text-fill-color: currentColor;
}
.ahl-not-found .glass { background: #252e27; border-color: #3b503e; }
.ahl-not-found [class*="text-tech-blue"] { color: #9dd578; }
.ahl-not-found a[class*="bg-gradient"] { background: #72bc41; color: #16260d; }
/* Flat UI. These classes mark only audited presentation elements. */
.ahl-decoration { display: none; }
.ahl-hero-overlay { background: rgb(0 0 0 / 52%); }
.ahl-media-shade { background: rgb(0 0 0 / 6%); }
.ahl-solid-heading {
  color: hsl(var(--foreground));
  background-image: none;
  -webkit-text-fill-color: currentColor;
}
.ahl-solid-accent {
  color: hsl(var(--primary-foreground));
  background: hsl(var(--primary));
}
[class*="backdrop-blur"] {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.glow-primary, .glow-secondary, .shadow-card, .shadow-button,
.hover\:shadow-glow:hover, .hover\:glow-primary:hover, .hover\:glow-secondary:hover {
  box-shadow: none;
}
.animate-glow, .animate-pulse-slow { animation: none; }
.ahl-hero .animate-pulse { animation: none; }
.gradient-primary.hover\:scale-105:hover,
.ahl-solid-accent.hover\:scale-105:hover { transform: none; }
@media (max-width: 640px) {
  .ahl-hero > nav { padding: 16px 20px; min-height: 78px; }
  .ahl-hero > nav img[alt="AHL logo"] { height: 40px; }
  .ahl-hero h1 { font-size: clamp(2.6rem, 11vw, 4rem); }
  .ahl-hero h1 + p { font-size: 1rem; }
  header.glass img[alt="AHL logo"] { height: 38px; max-width: 100px; }
  .ahl-footer { padding-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .ahl-hero .animate-pulse { animation: none; }
}
