/* =====================================================
   BASE.CSS
   Global Reset, Design Tokens, Typography
   Print Tech Gravures Pvt Ltd
   ===================================================== */

/* -----------------------------
   Local Font Faces
-------------------------------- */

/* Inter – Primary UI & Body Font */
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Greyhound – Brand / Logo Font */
@font-face {
  font-family: 'Greyhound';
  src: url('/assets/fonts/Greyhound.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Greyhound';
  src: url('/assets/fonts/Greyhound-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* -----------------------------
   CSS Reset / Normalize
-------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
  display: block;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font: inherit;
  border: none;
  background: none;
  cursor: pointer;
}

/* -----------------------------
   Design Tokens (CSS Variables)
-------------------------------- */
:root {
  /* Fonts */
  --font-primary: 'Inter', sans-serif;
  --font-logo: 'Greyhound', serif;

  /* Font Weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* Brand Colors */
  --color-brand-blue: #15275B;
  --color-brand-orange: #EF6B00;

  /* Neutral Palette */
  --color-white: #FFFFFF;
  --color-black: #111111;
  --color-text-secondary: #4B5563;
  --color-text-muted: #6B7280;
  --color-border: #D1D5DB;
  --color-bg-section: #F3F4F6;
  --color-surface: #FAFAFA;

  /* Functional */
  --color-focus-ring: #3B82F6;
  --color-disabled: #9CA3AF;

  /* Layout */
  --header-height: 64px;
}

/* -----------------------------
   Global Typography
-------------------------------- */
body {
  font-family: var(--font-primary);
  font-weight: var(--fw-regular);
  font-size: 16px;
  color: var(--color-black);
  background-color: var(--color-white);
  min-height: 100vh;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  
}

/* Logo Text (if ever used instead of image) */
.brand-logo {
  font-family: var(--font-logo);
  font-weight: var(--fw-bold);
}

/* Headings */
h1 {
  font-size: 2.25rem;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  color: var(--color-black);
}

h2 {
  font-size: 1.75rem;
  font-weight: var(--fw-medium);
  line-height: 1.35;
  color: var(--color-black);
}

h3 {
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-black);
}

h4 {
  font-size: 1.75rem;
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-brand-orange);
}

/* Reset default heading margins */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
}

/* Paragraphs */
p {
  font-size: 1rem;
  color: var(--color-text-secondary);
  margin-top: 0.75rem;
}

/* Lists inside main content */
main ul {
  margin-top: 0.75rem;
}

main ul li {
  margin-top: 0.5rem;
  color: var(--color-text-secondary);
}
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.contact-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.contact-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.contact-info a {
  font-size: 1.125rem;
  font-weight: var(--fw-semibold);
  color: var(--color-brand-blue);
}

/* -----------------------------
   Links
-------------------------------- */
a {
  color: var(--color-brand-blue);
}

a:hover {
  text-decoration: none;
}

/* -----------------------------
   Buttons (Base Only)
-------------------------------- */
button,
.button {
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
}

/* -----------------------------
   Accessibility
-------------------------------- */
:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

/* -----------------------------
   Minimal Utility Classes
-------------------------------- */
.text-muted {
  color: var(--color-text-muted);
}

.text-secondary {
  color: var(--color-text-secondary);
}

.text-justify {
  text-align: justify;
  text-justify: inter-word;
}
/* --------------------------------
   FOOTER MARQUEE — APIS­TEMOLOGY
-------------------------------- */

.footer-bottom-inner {
  text-align: center;
  
}

.footer-marquee {
  margin-top: 0.1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: #94a3b8;
}

.marquee-label {
  white-space: nowrap;
}

.marquee-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: inherit;
  text-decoration: none;
}

.marquee-brand:hover {
  text-decoration: underline;
}

.marquee-logo {
  height: 13px;
  width: auto;
  display: block;
  transform: translateY(-0.5px); 
}

.marquee-name {
  font-weight: 500;
}

picture {
  display: block;
}