/* ANDAS 2026 redesign: restrained industrial aesthetic with improved layout */
:root {
  --ink:#f8f9fa; --muted:#9ca3af; --surface:#0f1419; --raised:#1a1f26;
  --border:#2d3748; --accent:#d97706; --focus:#f59e0b;
  --shadow:0 4px 12px rgba(0,0,0,.25);
}
html { background:#0a0e13; scroll-behavior:smooth; }
body { background:#0a0e13!important; color:var(--ink); color-scheme:dark; }
::selection { background:var(--accent)!important; color:#fff!important; }
:focus-visible { outline:2px solid var(--focus)!important; outline-offset:3px; }
a { text-underline-offset:.15em; }

/* Override Tailwind cyan/teal with accent amber */
.text-cyan-500,.text-cyan-400,.text-teal-400 { color:var(--accent)!important; }
.bg-cyan-500,.bg-cyan-600,.bg-teal-500 { background-color:var(--accent)!important; }
.border-cyan-500,.border-teal-500 { border-color:var(--accent)!important; }
.hover\:text-cyan-400:hover,.hover\:text-cyan-500:hover { color:#ea8a0c!important; }
.hover\:bg-cyan-500:hover,.hover\:bg-cyan-600:hover { background-color:#ea8a0c!important; }

/* Adjust dark backgrounds for better hierarchy */
.bg-\[\#050505\],.bg-\[\#020202\] { background-color:rgba(15,20,25,.3)!important; }
.bg-\[\#0a0a0a\] { background-color:var(--surface)!important; }
.bg-black { background-color:#0a0e13!important; }
.border-zinc-800,.border-zinc-900 { border-color:var(--border)!important; }
.text-zinc-500,.text-zinc-400 { color:var(--muted)!important; }
.text-zinc-300 { color:#d1d5db!important; }

/* Navigation */
body > nav {
  background:rgba(15,20,25,.92)!important;
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
}
nav a { letter-spacing:.08em!important; }
#global-region-selector {
  border-color:var(--border)!important;
  background-color:var(--surface)!important;
  color:var(--ink)!important;
}

/* Header - cleaner hero */
header {
  min-height:min(85vh,780px)!important;
  border-bottom:1px solid var(--border);
  padding-top:5rem!important;
}
header::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(10,14,19,.2),rgba(10,14,19,.85));
}
header > * { position:relative; z-index:1; }
header h1 {
  max-width:18ch;
  text-wrap:balance;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
}
header h1::after {
  content:"";
  display:block;
  width:3.5rem;
  height:3px;
  margin-top:1.2rem;
  background:var(--accent);
}
header p { max-width:58ch; color:var(--muted)!important; line-height:1.7!important; }

/* Sections - improved spacing and rhythm */
section {
  position:relative;
  scroll-margin-top:5rem;
  border-top:1px solid rgba(45,55,72,.4)!important;
  padding-top:4rem!important;
  padding-bottom:4rem!important;
}
section::before {
  content:"";
  position:absolute;
  top:0;
  left:max(1rem,calc((100% - 78rem)/2));
  width:2.5rem;
  height:2px;
  background:var(--accent);
}
.py-20 { padding-top:4rem!important; padding-bottom:4rem!important; }
.py-24 { padding-top:5rem!important; padding-bottom:5rem!important; }
.py-28 { padding-top:6rem!important; padding-bottom:6rem!important; }
section h2,section h3 { text-wrap:balance; letter-spacing:-.025em!important; }
section p,section li { color:var(--muted); line-height:1.65!important; }

/* Section numbers - subtler */
.section-number { opacity:.15!important; color:var(--accent)!important; }

/* Section headers - better hierarchy */
section .border-b { border-color:var(--border)!important; padding-bottom:2rem!important; margin-bottom:3rem!important; }

/* Cards and surfaces */
.neon-glow-card,.dfm-viewer-shell,.dfm-report-panel,.dfm-risk-card,.cyber-border {
  border-radius:.5rem!important;
  border-color:var(--border)!important;
  background-color:var(--surface)!important;
  box-shadow:var(--shadow)!important;
}
.neon-glow-card { padding:0!important; border-width:1px!important; }
.neon-glow-card::before { display:none!important; }
.neon-glow-inner {
  border-radius:.5rem!important;
  background:var(--raised)!important;
  padding:1.5rem!important;
}
.card-lift { transition:box-shadow 160ms ease,transform 160ms ease!important; }
.card-lift:hover { box-shadow:0 8px 20px rgba(0,0,0,.35)!important; transform:translateY(-2px)!important; }

/* Forms and controls */
button,[role="button"],input,select,textarea { border-radius:.375rem!important; }
button,[role="button"] { min-height:2.75rem; font-weight:600!important; }
button[class*="bg-cyan"],a[class*="bg-cyan"],.accent-bg {
  background-color:var(--accent)!important;
  color:#fff!important;
  box-shadow:0 2px 8px rgba(217,119,6,.2);
  transition:all 160ms ease!important;
}
button[class*="bg-cyan"]:hover,a[class*="bg-cyan"]:hover,.accent-bg:hover {
  background-color:#ea8a0c!important;
  transform:translateY(-1px)!important;
}
input,select,textarea {
  border-color:var(--border)!important;
  background-color:var(--surface)!important;
  color:var(--ink)!important;
}
input::placeholder,textarea::placeholder { color:#6b7280!important; }
input:focus,select:focus,textarea:focus {
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(217,119,6,.15)!important;
  outline:none!important;
}

/* Content sections - better contrast */
#02-dfm,#dfm-checklist,#trust-evidence,#delivery-process,#contact-section {
  background:rgba(15,20,25,.3)!important;
}
#three-container,#cad-canvas.dfm-empty-stage {
  border-color:var(--border)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 4px 16px rgba(0,0,0,.3)!important;
  background-color:rgba(10,14,19,.8)!important;
}
.dfm-viewer-shell::before { opacity:.12!important; }
.nda-trust-strip { display:none!important; }
.qty-btn.active {
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}
.custom-scrollbar::-webkit-scrollbar-thumb { background:var(--accent)!important; }

/* Partners and articles - cleaner */
#partner-clients,#04-articles { background:rgba(15,20,25,.25)!important; }
#partner-clients img {
  filter:grayscale(1) contrast(.8) brightness(1.15);
  opacity:.65;
  transition:filter 160ms ease,opacity 160ms ease;
}
#partner-clients img:hover { filter:grayscale(0) contrast(1); opacity:1; }

/* Footer - cleaner */
footer {
  background:#0a0e13!important;
  border-top-color:var(--border)!important;
  padding-top:3rem!important;
  padding-bottom:3rem!important;
}
footer::before { display:none!important; }
footer .absolute { display:none!important; }

/* Typography refinements */
h1,h2,h3,h4,h5,h6 { font-weight:800!important; }
.font-black { font-weight:800!important; }
.font-bold { font-weight:600!important; }
.uppercase { text-transform:uppercase; letter-spacing:.08em; }

/* Locale-specific adjustments */
html[lang="zh-Hant-TW"] body,html[lang="ja"] body { letter-spacing:.01em; }
html[lang="de"] header h1 { max-width:20ch; hyphens:auto; }
html[lang="de"] nav a { letter-spacing:.04em!important; }
html[lang="ja"] header h1,html[lang="zh-Hant-TW"] header h1 { line-break:strict; word-break:normal; }

/* Responsive - improved mobile spacing */
@media(max-width:767px) {
  header { min-height:42rem!important; padding-top:4.5rem!important; }
  header h1 { max-width:14ch; font-size:clamp(2.25rem,11vw,3.75rem)!important; }
  header h1::after { margin-top:1rem; width:3rem; }
  section { padding-top:3rem!important; padding-bottom:3rem!important; }
  section::before { left:1rem; width:2rem; }
  section .border-b { padding-bottom:1.5rem!important; margin-bottom:2rem!important; }
  .py-20,.py-24,.py-28 { padding-top:3rem!important; padding-bottom:3rem!important; }
  nav a { letter-spacing:.05em!important; }
  .neon-glow-card,.dfm-viewer-shell,.dfm-report-panel,.dfm-risk-card { border-radius:.5rem!important; }
  .neon-glow-inner { padding:1.25rem!important; }
}

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