/* ===== Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

/* ===== Root variables (brand + layout only) ===== */
:root {
  --site-width: 1100px;

  /* Field padding */
  --field-padding-y: 14px;

  /* Colours */
  --brand: #0a66ff;
  --brand-dark: #084ec2;
  --brand-accent: #ffaa01;
  --text: #333;
  --muted: #6b7280;
}

/* ===== Reset ===== */
* { box-sizing: border-box; margin:0; padding:0; }
body { font-family: 'DM Sans', sans-serif; color: var(--text); background: #fff; }
a { text-decoration: none; color: inherit; }

/* ===== Sticky Footer Layout ===== */
html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}

/* ===== Layout container ===== */
.container { max-width: var(--site-width); margin: 0 auto; padding: 0 24px; }

/* ===== Header ===== */
.site-header { background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.06); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.logo { height: 40px; }
.main-nav { display: flex; gap: 28px; }
.main-nav a { font-weight: 500; }
.main-nav a:hover,
.main-nav a.active { color: var(--brand); }

/* ===== Footer ===== */
.site-footer { background: #40768e; color: #ffffff; padding: 16px 0; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; }
.footer-inner p { margin: 0; font-size: 14px; }
.footer-inner .social { display: flex; gap: 16px; }
.footer-inner .social-icon { width: 24px; height: 24px; display: block; transition: opacity 0.2s; }
.footer-inner .social-icon:hover { opacity: 0.8; }

/* ===== Shared helpers ===== */
.is-placeholder { color: #9ca3af !important; }