/* Androulakis Group – static HTML/CSS rebuild (Elementor defaults: Roboto, white bg, dark text) */
:root {
  --bg: #ffffff;
  --text: #333333;
  --heading: #222222;
  --muted: #7a7a7a;
  --accent: #1a5276;
  --max: 1140px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration: none; transition: color .25s var(--ease); }
a:hover { color: #0e3a55; text-decoration: underline; }

.container { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 20px; }

/* Header */
.site-header { padding: 18px 0; border-bottom: 1px solid #eee; }
.site-title { font-size: 1rem; color: var(--heading); letter-spacing: .02em; }

/* Hero */
.hero { padding: 48px 0 24px; text-align: center; }
h1 {
  margin: 0 0 28px;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--heading);
}
.hero-image { margin: 0 auto; max-width: 1140px; overflow: hidden; border-radius: 4px; }
.hero-image img { width: 100%; transform: scale(1.02); transition: transform 1.4s var(--ease); }
.hero-image.in img { transform: scale(1); }

/* Contact */
.contact { padding: 24px 0 56px; text-align: center; }
address { font-style: normal; font-size: 1.05rem; }
address p { margin: 4px 0; }

/* Footer */
.site-footer { padding: 22px 0; border-top: 1px solid #eee; text-align: center; font-size: .9rem; color: var(--muted); }
.site-footer p { margin: 0; }

/* Reveal animation */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease) var(--d, 0s), transform .8s var(--ease) var(--d, 0s); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .hero-image img { transition: none; opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
