:root {
  --primary-blue: #002c62;
  /* A deep, flag-like blue */
  --primary-red: #d10e40;
  /* A strong, clear red */
  --light-bg: #F3F4F6;
  /* Tailwind gray-100 */
  --dark-text: #1F2937;
  /* Tailwind gray-800 */
}

.bg-primary-blue {
  background-color: var(--primary-blue);
}

.text-primary-blue {
  color: var(--primary-blue);
}

.bg-primary-red {
  background-color: var(--primary-red);
}

.text-primary-red {
  color: var(--primary-red);
}

.border-primary-red {
  border-color: var(--primary-red);
}

/**
 * Typography Styles
 * 
 * Defines font families and content spacing for the theme.
 * Applies to .text-lg and .leading-relaxed classes used in content areas.
 */
/* Set Inter as the default font for the entire site */
body {
  font-family: "Inter", sans-serif;
}

/**
 * Content Area Typography
 * 
 * These styles apply to both .text-lg and .leading-relaxed classes.
 * Used in page content, post content, and custom blocks.
 * 
 * Ensures consistent spacing between all content elements:
 * - Paragraphs, headings, lists, blockquotes, images, etc.
 */
.text-lg,
.leading-relaxed {
  /* ========================================
   * PARAGRAPH SPACING
   * ======================================== */
}
.text-lg p,
.leading-relaxed p {
  margin-bottom: 1.5rem; /* 24px - Comfortable reading space */
}
.text-lg,
.leading-relaxed {
  /* ========================================
   * LIST SPACING
   * ======================================== */
}
.text-lg ul,
.text-lg ol,
.leading-relaxed ul,
.leading-relaxed ol {
  list-style-type: disc;
  margin-left: 1.25em; /* Indent lists from left edge */
  padding-left: 0;
  margin-bottom: 1.5rem; /* Space after list */
}
.text-lg,
.leading-relaxed {
  /* Numbered lists */
}
.text-lg ol,
.leading-relaxed ol {
  list-style-type: decimal;
}
.text-lg,
.leading-relaxed {
  /* Individual list items */
}
.text-lg li,
.leading-relaxed li {
  margin-bottom: 0.5em; /* Space between list items */
}
.text-lg,
.leading-relaxed {
  /* ========================================
   * HEADING SPACING & STYLES
   * ======================================== */
  /* H2 - Main section headings */
}
.text-lg h2,
.leading-relaxed h2 {
  color: var(--primary-red);
  font-size: 2.25rem; /* 36px - text-3xl */
  line-height: 2.5rem; /* leading-tight */
  font-weight: 700; /* font-bold */
  margin-top: 2.5rem; /* 40px - Extra space before new section */
  margin-bottom: 1.5rem; /* 24px - Space before content */
  /* Responsive: Larger on tablets and up */
}
@media (min-width: 768px) {
  .text-lg h2,
  .leading-relaxed h2 {
    font-size: 2.5rem; /* 40px - md:text-4xl */
    line-height: 1;
  }
}
.text-lg,
.leading-relaxed {
  /* H3 - Subsection headings */
}
.text-lg h3,
.leading-relaxed h3 {
  color: var(--primary-blue);
  font-size: 1.875rem; /* 30px - text-3xl */
  line-height: 2.25rem;
  font-weight: 600; /* font-semibold */
  margin-top: 2rem; /* 32px */
  margin-bottom: 1rem; /* 16px */
}
.text-lg,
.leading-relaxed {
  /* H4, H5, H6 - Smaller headings */
}
.text-lg h4, .text-lg h5, .text-lg h6,
.leading-relaxed h4,
.leading-relaxed h5,
.leading-relaxed h6 {
  font-weight: 600; /* font-semibold */
  margin-top: 1.5rem; /* 24px */
  margin-bottom: 0.75rem; /* 12px */
}
.text-lg h4,
.leading-relaxed h4 {
  font-size: 1.5rem; /* 24px - text-2xl */
  line-height: 2rem;
}
.text-lg h5,
.leading-relaxed h5 {
  font-size: 1.25rem; /* 20px - text-xl */
  line-height: 1.75rem;
}
.text-lg h6,
.leading-relaxed h6 {
  font-size: 1.125rem; /* 18px - text-lg */
  line-height: 1.75rem;
}
.text-lg,
.leading-relaxed {
  /* ========================================
   * OTHER CONTENT ELEMENTS
   * ======================================== */
  /* Blockquotes - Pull quotes, citations */
}
.text-lg blockquote,
.leading-relaxed blockquote {
  margin: 2rem 0;
  padding-left: 1.5rem;
  border-left: 4px solid var(--primary-red); /* Red accent bar */
  font-style: italic;
  color: #4b5563; /* gray-600 - Slightly muted */
}
.text-lg,
.leading-relaxed {
  /* Images in content */
}
.text-lg img,
.leading-relaxed img {
  margin: 2rem 0; /* Vertical breathing room */
  max-width: 100%; /* Responsive - never overflow */
  height: auto; /* Maintain aspect ratio */
}
.text-lg,
.leading-relaxed {
  /* Horizontal rules / dividers */
}
.text-lg hr,
.leading-relaxed hr {
  margin: 2.5rem 0; /* Extra space around dividers */
  border-color: #e5e7eb; /* gray-200 - Subtle line */
}
.text-lg,
.leading-relaxed {
  /* Remove bottom margin from last element to prevent extra space */
}
.text-lg > *:last-child,
.leading-relaxed > *:last-child {
  margin-bottom: 0;
}

/**
 * Direct Child Spacing for WordPress Content
 * 
 * WordPress content blocks sometimes need direct child spacing.
 * This ensures all elements have consistent spacing regardless of type.
 */
.leading-relaxed > * {
  margin-bottom: 1.5rem; /* Default spacing for all direct children */
}
.leading-relaxed > *:last-child {
  margin-bottom: 0; /* Remove from last element */
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Style for active nav link */
.nav-link.active {
  color: var(--primary-blue);
  background-color: var(--primary-red);
}

#home {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5));
}

.wp-block-group {
  margin-bottom: 4rem;
}

/* Gravity Forms Styling */
.gform_wrapper {
  /* Inputs and Textareas */
}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #D1D5DB; /* Tailwind gray-300 */
  border-radius: 0.375rem !important; /* Tailwind rounded-md */
  background-color: #F9FAFB; /* Tailwind gray-50 */
  color: var(--dark-text) !important;
  font-size: 1rem !important;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.gform_wrapper input[type=text]:focus,
.gform_wrapper input[type=email]:focus,
.gform_wrapper input[type=tel]:focus,
.gform_wrapper input[type=url]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none;
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 3px rgba(0, 40, 104, 0.2);
}
.gform_wrapper {
  /* Submit Button */
}
.gform_wrapper .gform_button,
.gform_wrapper input[type=submit] {
  background-color: var(--primary-red) !important;
  color: white !important;
  font-weight: bold;
  padding: 0.75rem 1.5rem !important;
  border: none !important;
  border-radius: 0.375rem !important;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  width: 100% !important;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type=submit]:hover {
  background-color: #A8092A !important; /* Darker red */
}
.gform_wrapper {
  /* Field Layout - 2x2 Grid */
}
.gform_wrapper .gform_body .gform_fields {
  display: grid;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem;
  /* Mobile: Stack vertically */
}
@media (max-width: 767px) {
  .gform_wrapper .gform_body .gform_fields {
    grid-template-columns: 1fr;
  }
}
.gform_wrapper .gform_body .gform_fields {
  /* Field 1 - Top Left */
}
.gform_wrapper .gform_body .gform_fields .gfield:nth-child(2) {
  grid-column: 1;
  grid-row: 1;
}
.gform_wrapper .gform_body .gform_fields {
  /* Field 2 - Bottom Left */
}
.gform_wrapper .gform_body .gform_fields .gfield:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}
.gform_wrapper .gform_body .gform_fields {
  /* Field 3 - Right Side (spans both rows) */
}
.gform_wrapper .gform_body .gform_fields .gfield:nth-child(4) {
  grid-column: 2;
  grid-row: 1/span 2;
}
.gform_wrapper .gform_body .gform_fields .gfield:nth-child(4) textarea {
  height: 107px;
  min-block-size: unset;
}
.gform_wrapper .gform_body .gform_fields {
  /* Mobile: Reset grid positioning */
}
@media (max-width: 767px) {
  .gform_wrapper .gform_body .gform_fields .gfield:nth-child(2),
  .gform_wrapper .gform_body .gform_fields .gfield:nth-child(3),
  .gform_wrapper .gform_body .gform_fields .gfield:nth-child(4) {
    grid-column: 1;
    grid-row: auto;
  }
}
.gform_wrapper {
  /* Field Layout */
}
.gform_wrapper .gfield {
  margin-bottom: 0;
}
.gform_wrapper {
  /* Label Styling */
}
.gform_wrapper .gfield_label {
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: block;
  color: white; /* Since it's on a blue background in the design */
}
.gform_wrapper {
  /* Validation Errors */
}
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error textarea, .gform_wrapper .gfield_error select {
  border-color: var(--primary-red);
}
.gform_wrapper .gfield_error .validation_message {
  color: #FECACA; /* Light red */
  font-size: 0.875rem;
  margin-top: 0.25rem;
}
.gform_wrapper {
  /* Footer with submit button */
}
.gform_wrapper .gform_footer {
  margin: 1rem 0 0 0 !important;
  padding: 0 !important;
}

/*# sourceMappingURL=main.css.map */
