/* HaShsoft // Modern Retro Tech Studio - Stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/* Base Reset & Lenis Smooth Scroll Configuration */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* ====================================================
   THEME DESIGN TOKENS (LIGHT & DARK DUAL PALETTE)
==================================================== */
:root, [data-theme="light"] {
  --primary: #006194;
  --bg-primary: #f8f9ff;
  --bg-surface: #ffffff;
  --bg-subtle: #eff4ff;
  --bg-section-alt: #e2edfc;
  --text-primary: #0b1c30;
  --text-secondary: #3f4850;
  --text-muted: #545c72;
  --card-bg: #ffffff;
  --card-border: #bfc7d2;
  --header-bg: rgba(255, 255, 255, 0.92);
  --footer-bg: #eff4ff;
  --grid-line: rgba(191, 199, 210, 0.35);
  --accent-cyan: #006194;
  --accent-orange: #fd651e;
  --shadow-retro: 3px 3px 0px #001d31;
}

[data-theme="dark"] {
  --primary: #00daf3;
  --bg-primary: #0a0e1a;
  --bg-surface: #151b2b;
  --bg-subtle: #121824;
  --bg-section-alt: #0e1422;
  --text-primary: #f2f6ff;
  --text-secondary: #9eb1cd;
  --text-muted: #6b7d9b;
  --card-bg: #151b2b;
  --card-border: #2a3550;
  --header-bg: rgba(10, 14, 26, 0.92);
  --footer-bg: #0a0e1a;
  --grid-line: rgba(42, 53, 80, 0.45);
  --accent-cyan: #00daf3;
  --accent-orange: #fd651e;
  --shadow-retro: 3px 3px 0px #00daf3;
}

html {
  scroll-behavior: auto;
  font-family: 'Inter', sans-serif;
  margin: 0;
  padding: 0;
}

body {
  overscroll-behavior: none;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color 0.35s ease, color 0.35s ease;
}

/* Global Theme Transition (Optimized: No expensive box-shadow interpolation) */
body, header, #hero, footer {
  transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease;
}

/* Custom High-Tech Scrollbar with Interactive Hover Expansion */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

::-webkit-scrollbar:hover {
  width: 14px;
}

::-webkit-scrollbar-track {
  background: #eff4ff;
  border-left: 1px solid #bfc7d2;
  transition: background 0.2s ease;
}

::-webkit-scrollbar-track:hover {
  background: #e2edfc;
}

::-webkit-scrollbar-thumb {
  background: #006194;
  border-radius: 4px;
  border: 1px solid transparent;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

::-webkit-scrollbar-thumb:hover {
  background: #fd651e;
  border-radius: 6px;
  box-shadow: 0 0 12px rgba(253, 101, 30, 0.7);
}

/* Firefox Scrollbar fallback */
* {
  scrollbar-width: thin;
  scrollbar-color: #006194 #eff4ff;
}

/* Top Reading Progress Bar */
#scroll-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #006194, #00daf3, #fd651e);
  z-index: 100;
  transform-origin: left;
  transform: scaleX(0);
  will-change: transform;
}

/* Hardware-Accelerated Elements */
.hero-telemetry,
.hero-headline-item,
.hero-fadeup,
.about-photo-card,
.about-story-card,
.about-pillar-card,
.service-card,
.process-card,
.why-card-left,
.why-card-right,
.sector-terminal,
.cta-card,
.float-3d {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Interactive Push Button Micro-interaction */
.btn-press {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.btn-press:hover {
  transform: translate(-1.5px, -1.5px);
}

.btn-press:active {
  transform: translate(1px, 1px);
  box-shadow: 0px 0px 0px transparent !important;
}

/* Retro Shadow Utilities */
.shadow-retro-dark {
  box-shadow: 3px 3px 0px #001d31;
}

.shadow-retro-primary {
  box-shadow: 3px 3px 0px #006194;
}

.shadow-retro-blue {
  box-shadow: 2px 2px 0px #dce9ff;
}

/* Process Connecting Pipeline Laser Line */
.pipeline-progress-line {
  transform-origin: left;
  transform: scaleX(0);
  will-change: transform;
  background: linear-gradient(90deg, #006194 0%, #00daf3 100%);
  box-shadow: 0 0 8px rgba(0, 218, 243, 0.4);
}

/* Floating Ambient Pixel Animation */
@keyframes float-pixel-1 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@keyframes float-pixel-2 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(6px); }
}

.animate-pixel-1 {
  animation: float-pixel-1 4s ease-in-out infinite;
}

.animate-pixel-2 {
  animation: float-pixel-2 5s ease-in-out infinite;
}

/* Floating 3D Micro-Elements Animation */
@keyframes float-3d-1 {
  0%, 100% { transform: translateY(0px) rotate(45deg); }
  50% { transform: translateY(-10px) rotate(52deg) scale(1.08); }
}

@keyframes float-3d-2 {
  0%, 100% { transform: translateY(0px) rotate(12deg); }
  50% { transform: translateY(8px) rotate(6deg) scale(0.95); }
}

.float-3d-slow {
  animation: float-3d-1 6s ease-in-out infinite;
}

.float-3d-fast {
  animation: float-3d-2 4.5s ease-in-out infinite;
}

/* Card Hover Elevation */
.card-hover-fx {
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.card-hover-fx:hover {
  border-color: #006194 !important;
  box-shadow: 3px 3px 0px #006194 !important;
  transform: translateY(-3px);
}

/* ====================================================
   TERMINAL DRAFT SITES ACCORDION (SMOOTH & CLEAR STATES)
==================================================== */
.terminal-row {
  transition: background-color 0.28s ease, border-color 0.28s ease, color 0.28s ease;
}

.terminal-toggle-icon {
  display: inline-block;
  transform-origin: center center;
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), color 0.25s ease;
}

.terminal-row.is-active .terminal-toggle-icon {
  transform: rotate(90deg);
  color: var(--primary, #006194) !important;
}

.terminal-row.is-active {
  background-color: rgba(0, 97, 148, 0.08) !important;
  border-left-color: #006194 !important;
}

[data-theme="dark"] .terminal-row.is-active {
  background-color: rgba(0, 163, 255, 0.12) !important;
  border-left-color: #38bdf8 !important;
}

.terminal-row.is-active .terminal-title {
  color: #006194 !important;
  font-weight: 700;
}

[data-theme="dark"] .terminal-row.is-active .terminal-title {
  color: #38bdf8 !important;
  font-weight: 700;
}

.terminal-row .terminal-status-badge {
  white-space: nowrap;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.terminal-row.is-active .terminal-status-badge {
  background-color: #006194 !important;
  color: #ffffff !important;
  border-color: #006194 !important;
  box-shadow: 0 0 10px rgba(0, 97, 148, 0.4);
}

[data-theme="dark"] .terminal-row.is-active .terminal-status-badge {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  border-color: #38bdf8 !important;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.5);
}

.terminal-item {
  transition: border-color 0.28s ease, box-shadow 0.28s ease;
}

.terminal-item.is-open {
  border-color: rgba(0, 97, 148, 0.55) !important;
  box-shadow: 0 4px 14px rgba(0, 97, 148, 0.12);
}

[data-theme="dark"] .terminal-item.is-open {
  border-color: rgba(56, 189, 248, 0.55) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

/* Smooth Accordion Expansion via CSS Grid (Zero Layout Snapping) */
.terminal-dropdown-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  overflow: hidden;
}

.terminal-dropdown-wrapper.is-open {
  grid-template-rows: 1fr;
}

.terminal-dropdown-collapsible {
  min-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
}

.terminal-dropdown-inner {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.25, 1, 0.5, 1);
}

.terminal-dropdown-wrapper.is-open .terminal-dropdown-inner {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile Gyroscope Interactive Cards - Flat, unified card rendering */
@media (hover: none) and (pointer: coarse) {
  .about-photo-card,
  .about-story-card,
  .service-card,
  .process-card,
  .why-card-left,
  .why-card-right,
  .sector-terminal,
  .cta-card {
    will-change: transform;
    transform-style: flat;
    backface-visibility: hidden;
  }
}

/* Respect User Reduced Motion Preference */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ====================================================
   CUSTOM TECH CURSOR & MOUSE SPOTLIGHT
==================================================== */
@media (hover: hover) and (pointer: fine) {
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor a,
  html.has-custom-cursor button,
  html.has-custom-cursor [role="button"],
  html.has-custom-cursor input[type="submit"],
  html.has-custom-cursor select {
    cursor: none !important;
  }

  html.has-custom-cursor input[type="text"],
  html.has-custom-cursor input[type="email"],
  html.has-custom-cursor textarea {
    cursor: text;
  }
}

#cursor-dot,
#cursor-ring,
#mouse-spotlight {
  will-change: transform;
  pointer-events: none;
}

/* ====================================================
   DARK THEME SYSTEM OVERRIDES
==================================================== */
[data-theme="dark"] header {
  background-color: var(--header-bg) !important;
  border-color: var(--card-border) !important;
  box-shadow: 0 1px 15px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] #hero,
[data-theme="dark"] #hizmetler,
[data-theme="dark"] #avantajlar {
  background-color: var(--bg-primary) !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] #hakkimizda,
[data-theme="dark"] #surec {
  background-color: var(--bg-section-alt) !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] #taslaklar {
  background-color: #0b101c !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] #iletisim {
  background-color: #070d18 !important;
  border-top: 1px solid var(--card-border) !important;
}

[data-theme="dark"] #iletisim .contact-terminal {
  background-color: #0b1322 !important;
  border-color: rgba(0, 218, 243, 0.4) !important;
}

[data-theme="dark"] #iletisim .contact-input {
  background-color: #070e1b !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #e5edf8 !important;
}

[data-theme="dark"] #iletisim .contact-input:focus {
  border-color: #00daf3 !important;
  box-shadow: 0 0 0 2px rgba(0, 218, 243, 0.25) !important;
  background-color: #0a1324 !important;
}

[data-theme="dark"] #iletisim .sector-pill {
  background-color: #08101e !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #a3b8cc !important;
}

[data-theme="dark"] #iletisim .sector-pill:hover {
  border-color: #00daf3 !important;
  color: #00daf3 !important;
  background-color: rgba(0, 218, 243, 0.08) !important;
}

[data-theme="dark"] #iletisim .sector-pill.is-selected {
  background-color: #00daf3 !important;
  border-color: #00daf3 !important;
  color: #050a14 !important;
  font-weight: 700 !important;
  box-shadow: 2px 2px 0px #000000 !important;
}

[data-theme="dark"] #iletisim #contact-submit-btn {
  background-color: #00daf3 !important;
  border-color: #00daf3 !important;
  color: #050a14 !important;
}

[data-theme="dark"] #iletisim #contact-submit-btn:hover {
  background-color: #38e4f7 !important;
  border-color: #38e4f7 !important;
}

/* Contact Sidebar in Dark Mode - Deep, Rich, High-Contrast */
[data-theme="dark"] #iletisim .contact-sidebar {
  background-color: #0c1626 !important;
  border-right: 1px solid rgba(0, 218, 243, 0.25) !important;
}

[data-theme="dark"] #iletisim .contact-sidebar h3 {
  color: #ffffff !important;
}

[data-theme="dark"] #iletisim .contact-sidebar p {
  color: #c0d3e8 !important;
}

[data-theme="dark"] #iletisim .contact-sidebar .contact-label {
  color: #00daf3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
}

[data-theme="dark"] #iletisim .contact-email-card {
  background-color: #070e1c !important;
  border: 1px solid rgba(0, 218, 243, 0.4) !important;
  box-shadow: 0 0 12px rgba(0, 218, 243, 0.08) !important;
}

[data-theme="dark"] #iletisim .contact-email-card .contact-email-text {
  color: #00daf3 !important;
}

[data-theme="dark"] #iletisim .contact-email-card button {
  background-color: #0e1b30 !important;
  color: #e5edf8 !important;
  border-color: rgba(0, 218, 243, 0.45) !important;
}

[data-theme="dark"] #iletisim .contact-email-card button:hover {
  background-color: #00daf3 !important;
  color: #050a14 !important;
  border-color: #00daf3 !important;
}

[data-theme="dark"] #iletisim .contact-process-item {
  color: #dbe7f7 !important;
}

[data-theme="dark"] #iletisim .contact-process-item span:first-child {
  background-color: #00daf3 !important;
  box-shadow: 0 0 8px #00daf3 !important;
}

[data-theme="dark"] #iletisim .contact-beacon-box {
  background-color: rgba(0, 218, 243, 0.08) !important;
  border: 1px solid rgba(0, 218, 243, 0.4) !important;
}

[data-theme="dark"] #iletisim .contact-beacon-box .beacon-title {
  color: #00daf3 !important;
}

[data-theme="dark"] #iletisim .contact-beacon-box p {
  color: #c0d3e8 !important;
}

[data-theme="dark"] footer {
  background-color: var(--footer-bg) !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] .ambient-pixel-grid {
  background-image: linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
                    linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px) !important;
}

[data-theme="dark"] #mouse-spotlight {
  background: radial-gradient(circle, rgba(0, 218, 243, 0.08) 0%, rgba(0, 97, 148, 0.02) 45%, transparent 70%) !important;
}

/* Dark Mode Cards, Surfaces, Terminals */
[data-theme="dark"] .service-card,
[data-theme="dark"] .process-card,
[data-theme="dark"] .why-card-left,
[data-theme="dark"] .why-card-right,
[data-theme="dark"] .about-photo-card,
[data-theme="dark"] .about-story-card,
[data-theme="dark"] .about-pillar-card,
[data-theme="dark"] .sector-terminal,
[data-theme="dark"] .bg-surface-container-lowest {
  background-color: var(--card-bg) !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] .bg-surface-container-low {
  background-color: #101622 !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] .bg-surface-container,
[data-theme="dark"] .bg-surface-container-high,
[data-theme="dark"] .bg-surface-container-highest {
  background-color: #162030 !important;
  border-color: var(--card-border) !important;
}

[data-theme="dark"] .border-outline-variant,
[data-theme="dark"] .border-outline-variant\/80,
[data-theme="dark"] .border-outline-variant\/60,
[data-theme="dark"] .border-outline-variant\/50,
[data-theme="dark"] .border-outline-variant\/40,
[data-theme="dark"] .border-outline-variant\/30,
[data-theme="dark"] .border-outline {
  border-color: var(--card-border) !important;
}

/* Dark Mode Typography */
[data-theme="dark"] .text-on-surface,
[data-theme="dark"] .text-on-background,
[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-on-surface-variant,
[data-theme="dark"] .text-on-surface-variant\/90,
[data-theme="dark"] .text-on-surface-variant\/80,
[data-theme="dark"] .text-on-surface-variant\/70,
[data-theme="dark"] .text-outline,
[data-theme="dark"] .text-tertiary {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-tertiary-fixed-variant {
  color: #a4b1c8 !important;
}

[data-theme="dark"] .text-primary {
  color: var(--accent-cyan) !important;
}

[data-theme="dark"] .shadow-retro-dark {
  box-shadow: 3px 3px 0px #00daf3 !important;
}

[data-theme="dark"] .shadow-retro-primary {
  box-shadow: 3px 3px 0px #00daf3 !important;
}

[data-theme="dark"] .shadow-retro-blue {
  box-shadow: 2px 2px 0px #1e283c !important;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: #0a0e1a !important;
  border-left-color: #2a3550 !important;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #1c2b42 !important;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #00daf3 !important;
  box-shadow: 0 0 12px rgba(0, 218, 243, 0.7) !important;
}

[data-theme="dark"] * {
  scrollbar-color: #1c2b42 #0a0e1a !important;
}

/* ====================================================
   INTERACTIVE 8-BIT RETRO PIXEL BULB (THEME TOGGLE)
/* ====================================================
   INTERACTIVE 8-BIT RETRO CELESTIAL ORBIT (SUN & MOON OVER VILLAGE)
==================================================== */
.celestial-scene-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 900px;
  contain: layout paint;
  transform: translateZ(0);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-tap-highlight-color: transparent;
}

.celestial-scene-btn:hover {
  transform: scale(1.02);
}

.celestial-scene-btn:active {
  transform: scale(0.98);
}

.celestial-svg {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  overflow: visible;
  contain: paint;
  transform: translateZ(0);
}

#celestial-sun,
#celestial-moon {
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* 3D Drone Perspective Village Container */
.celestial-village {
  transform-origin: 110px 190px;
  will-change: transform;
  transform: translateZ(0);
}

/* Ray breathing in day mode */
@keyframes sun-ray-pulse {
  0%, 100% { transform: scale(1); opacity: 0.92; }
  50% { transform: scale(1.09); opacity: 1; }
}

.sun-rays {
  animation: sun-ray-pulse 2.2s ease-in-out infinite;
  transform-origin: 0 0;
}

/* Moon gentle float & glow in night mode */
@keyframes moon-halo-pulse {
  0%, 100% { filter: drop-shadow(0 0 12px rgba(180, 225, 255, 0.5)); }
  50% { filter: drop-shadow(0 0 24px rgba(180, 225, 255, 0.85)); }
}

[data-theme="dark"] #celestial-moon {
  animation: moon-halo-pulse 3s ease-in-out infinite;
}

/* Stars Twinkling */
@keyframes star-twinkle-1 {
  0%, 100% { opacity: 0.25; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.25); }
}

@keyframes star-twinkle-2 {
  0%, 100% { opacity: 0.95; transform: scale(1.15); }
  50% { opacity: 0.2; transform: scale(0.7); }
}

.star-1 { animation: star-twinkle-1 2s ease-in-out infinite; }
.star-2 { animation: star-twinkle-2 2.6s ease-in-out infinite; }
.star-3 { animation: star-twinkle-1 3.2s ease-in-out infinite 0.7s; }

/* Chimney Smoke Puff Animation */
@keyframes smoke-float {
  0% { transform: translate(0, 0) scale(0.6); opacity: 0.75; }
  50% { transform: translate(2px, -6px) scale(1); opacity: 0.5; }
  100% { transform: translate(4px, -13px) scale(1.3); opacity: 0; }
}

.smoke-puff-1 { animation: smoke-float 3s ease-in-out infinite; transform-origin: 67px 158px; }
.smoke-puff-2 { animation: smoke-float 3s ease-in-out infinite 1.5s; transform-origin: 67px 158px; }

/* River Sparkle / Shimmer Animation */
@keyframes river-sparkle {
  0%, 100% { opacity: 0.95; }
  50% { opacity: 0.4; }
}
.river-sparkle {
  animation: river-sparkle 1.8s ease-in-out infinite;
}

/* Waterwheel rotation animation */
@keyframes waterwheel-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.waterwheel-wheel {
  animation: waterwheel-spin 6s linear infinite;
  transform-origin: 136px 177px;
}

/* Waterfall foam pulse */
@keyframes waterfall-pulse {
  0%, 100% { opacity: 0.95; }
  50% { opacity: 0.7; }
}
.waterfall-foam {
  animation: waterfall-pulse 1.2s ease-in-out infinite;
}

/* Village Window Lighting Transition */
.village-window {
  transition: fill 0.3s ease, filter 0.3s ease;
}

[data-theme="dark"] .village-window {
  fill: #ffcc00 !important;
  filter: drop-shadow(0 0 6px rgba(255, 204, 0, 0.95)) drop-shadow(0 0 12px rgba(255, 150, 0, 0.6));
}

/* Night Mode 3D Village Shading (Instant palette swap for 60 FPS performance) */

/* Grass and terrain dark tones */
[data-theme="dark"] #celestial-village [fill="#66bb6a"] { fill: #1c3829 !important; }
[data-theme="dark"] #celestial-village [fill="#4caf50"] { fill: #152b20 !important; }
[data-theme="dark"] #celestial-village [fill="#81c784"] { fill: #234533 !important; }
[data-theme="dark"] #celestial-village [fill="#388e3c"] { fill: #0f2218 !important; }
[data-theme="dark"] #celestial-village [fill="#2e7d32"] { fill: #0d1e15 !important; }
[data-theme="dark"] #celestial-village [fill="#1b5e20"] { fill: #08140e !important; }

/* River water dark tones */
[data-theme="dark"] #celestial-village [fill="#0288d1"] { fill: #0a2540 !important; }
[data-theme="dark"] #celestial-village [fill="#00b0ff"] { fill: #103b63 !important; }
[data-theme="dark"] #celestial-village [fill="#01579b"] { fill: #05182a !important; }
[data-theme="dark"] #celestial-village [fill="#0277bd"] { fill: #082036 !important; }
[data-theme="dark"] #celestial-village [fill="#4fc3f7"] { fill: #18446e !important; }
[data-theme="dark"] #celestial-village [fill="#81d4fa"] { fill: #25588a !important; }
[data-theme="dark"] #celestial-village [fill="#e1f5fe"] { fill: #487cae !important; }
[data-theme="dark"] #celestial-village [fill="#b3e5fc"] { fill: #366c9c !important; }

/* Stone bridge dark tones */
[data-theme="dark"] #celestial-village [fill="#eceff1"] { fill: #2c3847 !important; }
[data-theme="dark"] #celestial-village [fill="#cfd8dc"] { fill: #222d3b !important; }
[data-theme="dark"] #celestial-village [fill="#b0bec5"] { fill: #1b2532 !important; }
[data-theme="dark"] #celestial-village [fill="#90a4ae"] { fill: #151d27 !important; }
[data-theme="dark"] #celestial-village [fill="#78909c"] { fill: #10161f !important; }
[data-theme="dark"] #celestial-village [fill="#546e7a"] { fill: #0c1118 !important; }
[data-theme="dark"] #celestial-village [fill="#37474f"] { fill: #080b10 !important; }

/* Bedrock / earth cliff dark tones */
[data-theme="dark"] #celestial-village [fill="#8d6e63"] { fill: #1a222e !important; }
[data-theme="dark"] #celestial-village [fill="#6d4c41"] { fill: #131a24 !important; }
[data-theme="dark"] #celestial-village [fill="#5d4037"] { fill: #0f151e !important; }
[data-theme="dark"] #celestial-village [fill="#4e342e"] { fill: #0d121a !important; }
[data-theme="dark"] #celestial-village [fill="#3e2723"] { fill: #080c12 !important; }
[data-theme="dark"] #celestial-village [fill="#2d1d17"] { fill: #05080c !important; }
[data-theme="dark"] #celestial-village [fill="#261713"] { fill: #040609 !important; }

/* House walls and roofs in dark mode */
[data-theme="dark"] #celestial-village [fill="#f5f5f5"] { fill: #243142 !important; }
[data-theme="dark"] #celestial-village [fill="#bdbdbd"] { fill: #1a2533 !important; }
[data-theme="dark"] #celestial-village [fill="#fff8e1"] { fill: #2a374a !important; }
[data-theme="dark"] #celestial-village [fill="#ffe082"] { fill: #1f2a3a !important; }
[data-theme="dark"] #celestial-village [fill="#ede7f6"] { fill: #222d3d !important; }
[data-theme="dark"] #celestial-village [fill="#e0e0e0"] { fill: #1a2430 !important; }

/* ====================================================
   CONTACT TERMINAL & INTERACTIVE FORM STYLES
   ==================================================== */
.contact-terminal {
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-terminal.pulse-highlight {
  animation: terminalPulse 1.8s cubic-bezier(0.2, 0.8, 0.2, 1) 2;
}

@keyframes terminalPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 97, 148, 0.65), 4px 4px 0px #000;
    border-color: var(--primary);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(0, 97, 148, 0), 4px 4px 0px #000;
    border-color: var(--secondary-container);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 97, 148, 0), 4px 4px 0px #000;
    border-color: var(--primary);
  }
}

[data-theme="dark"] .contact-terminal.pulse-highlight {
  animation: terminalPulseDark 1.8s cubic-bezier(0.2, 0.8, 0.2, 1) 2;
}

@keyframes terminalPulseDark {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 218, 243, 0.75), 4px 4px 0px #000;
    border-color: #00daf3;
  }
  50% {
    box-shadow: 0 0 0 12px rgba(0, 218, 243, 0), 4px 4px 0px #000;
    border-color: #ffb77d;
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 218, 243, 0), 4px 4px 0px #000;
    border-color: #00daf3;
  }
}

.sector-pill {
  transition: all 0.18s ease;
  user-select: none;
}

.sector-pill:hover {
  border-color: #006194;
  color: #006194;
  transform: translateY(-1px);
}

.sector-pill.is-selected {
  background-color: #006194 !important;
  border-color: #006194 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 2px 2px 0px #001d31 !important;
  transform: translateY(-1px);
}

.contact-input {
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.contact-input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 2px rgba(0, 97, 148, 0.18);
}

.contact-input.is-invalid {
  border-color: #ba1a1a !important;
  box-shadow: 0 0 0 2px rgba(186, 26, 26, 0.2) !important;
}

