/*
 * ============================================================================
 * Theme Name:        PROJECT2053 Child Theme
 * Theme URI:         https://project2053.org
 * Description:       A custom Divi child theme for PROJECT2053 — For Our Future.
 *                    Developed and maintained by Northside Marketing Inc.
 *                    This theme establishes the full brand identity for the
 *                    PROJECT2053 Foundation and the Catalyst Fellowship program,
 *                    including color palette, typography, spacing, and custom
 *                    component styles built on top of the Divi parent theme.
 *
 * Version:           1.0.0
 * Author:            Northside Marketing Inc.
 * Author URI:        https://northsidemarketing.net/
 * Template:          Divi
 * License:           GNU General Public License v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Tags:              nonprofit, mission-driven, custom, divi-child
 *
 * ============================================================================
 * Developed by:      Northside Marketing Inc.
 * Agency URL:        https://northsidemarketing.net/
 * Contact:           info@northsidemarketing.net
 * ============================================================================
 *
 * CLIENT:            PROJECT2053 — For Our Future
 * Site URL:          https://project2053.org
 * Entities:          Project2053 Foundation (Nonprofit 501c3)
 *                    Catalyst Fellowship (For-Profit LLC)
 *
 * ============================================================================
 * BRAND COLOR REFERENCE
 * ============================================================================
 *
 * PRIMARY PALETTE — Project2053 Foundation
 * -----------------------------------------
 * Midnight:          #0A1E2E   Deepest hero backgrounds, footer
 * Deep Navy:         #0A2E41   Dark section bands, Catalyst hero
 * Ocean Blue:        #1E6B8C   Primary brand color, nav, buttons, headings
 * Sky Blue:          #3A8FB5   Hover states, active links
 * Ice Blue:          #E8F4F8   Light section backgrounds
 *
 * ACCENT PALETTE — Shared (Emerald)
 * -----------------------------------------
 * Forest:            #085041   Dark accent text on light backgrounds
 * Emerald:           #2BAE8E   Primary CTA, eyebrow labels, stat numbers
 * Mint:              #4ECBA8   Hover states for accent elements
 * Seafoam:           #A8E8D8   Subtle tints, tags, pills
 * Mist:              #E6F7F3   Catalyst Fellowship bg tints
 *
 * NEUTRAL PALETTE — Type and UI
 * -----------------------------------------
 * Ink:               #0D1117   Primary headlines
 * Slate:             #333D4B   Body copy
 * Stone:             #6B7A8D   Secondary text, captions, source citations
 * Silver:            #C4CDD8   Borders, dividers, HR elements
 * Cloud:             #F4F6F8   Page backgrounds, alternate sections
 *
 * WHITE / BLACK
 * -----------------------------------------
 * White:             #FFFFFF   Cards, overlays, text on dark backgrounds
 * Black:             #000000   Use sparingly — prefer Ink (#0D1117)
 *
 * ============================================================================
 * TYPOGRAPHY REFERENCE
 * ============================================================================
 *
 * Headings:          [To be set — recommend a geometric sans-serif such as
 *                    Inter, DM Sans, or Manrope for the Foundation voice]
 * Body:              [To be set — recommend a readable sans-serif]
 * Eyebrow Labels:    Uppercase, letter-spacing 0.2em, font-size 0.625rem (10px)
 * CTA Buttons:       Font-weight 700, no text-transform
 *
 * ============================================================================
 * SPACING SCALE
 * ============================================================================
 *
 * Section padding:   80px top / 80px bottom (desktop)
 *                    48px top / 48px bottom (tablet)
 *                    32px top / 32px bottom (mobile)
 * Column gutter:     30px (Divi default — override in Theme Customizer)
 * Card padding:      32px (desktop) / 24px (mobile)
 *
 * ============================================================================
 * MAINTENANCE NOTES
 * ============================================================================
 *
 * This child theme is built on the Divi parent theme by Elegant Themes.
 * Always update Divi via the parent theme — never modify parent theme files.
 * All customizations live in this child theme to survive Divi updates cleanly.
 *
 * To update brand colors globally, modify the CSS custom properties in the
 * :root block below. All component styles reference these variables, so a
 * single change here cascades through the entire site.
 *
 * For questions or support, contact Northside Marketing Inc.:
 * https://northsidemarketing.net/
 * info@northsidemarketing.net
 * 
 *
 * ============================================================================
 */


/* ============================================================================
   CSS CUSTOM PROPERTIES — BRAND DESIGN TOKENS
   ============================================================================ */

:root {

  /* ── Primary Palette ── */
  --p2053-midnight:        #0A1E2E;
  --p2053-deep-navy:       #0A2E41;
  --p2053-ocean-blue:      #1E6B8C;
  --p2053-sky-blue:        #3A8FB5;
  --p2053-ice-blue:        #E8F4F8;

  /* ── Accent Palette (Emerald) ── */
  --p2053-forest:          #085041;
  --p2053-emerald:         #2BAE8E;
  --p2053-mint:            #4ECBA8;
  --p2053-seafoam:         #A8E8D8;
  --p2053-mist:            #E6F7F3;

  /* ── Neutral Palette ── */
  --p2053-ink:             #0D1117;
  --p2053-slate:           #333D4B;
  --p2053-stone:           #6B7A8D;
  --p2053-silver:          #C4CDD8;
  --p2053-cloud:           #F4F6F8;

  /* ── Base ── */
  --p2053-white:           #FFFFFF;
  --p2053-black:           #000000;

  /* ── Semantic Aliases ── */
  --color-primary:             var(--p2053-ocean-blue);
  --color-primary-dark:        var(--p2053-deep-navy);
  --color-primary-darkest:     var(--p2053-midnight);
  --color-primary-light:       var(--p2053-sky-blue);
  --color-primary-tint:        var(--p2053-ice-blue);

  --color-accent:              var(--p2053-emerald);
  --color-accent-dark:         var(--p2053-forest);
  --color-accent-light:        var(--p2053-mint);
  --color-accent-tint:         var(--p2053-mist);
  --color-accent-subtle:       var(--p2053-seafoam);

  --color-text-primary:        var(--p2053-ink);
  --color-text-body:           var(--p2053-slate);
  --color-text-secondary:      var(--p2053-stone);
  --color-border:              var(--p2053-silver);
  --color-bg-light:            var(--p2053-cloud);
  --color-bg-section:          var(--p2053-ice-blue);

  /* ── Spacing Scale ── */
  --space-xs:    8px;
  --space-sm:    16px;
  --space-md:    24px;
  --space-lg:    32px;
  --space-xl:    48px;
  --space-2xl:   64px;
  --space-3xl:   80px;

  /* ── Border Radius ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-pill: 100px;

  /* ── Typography Scale ── */
  --text-eyebrow:   0.625rem;   /* 10px */
  --text-sm:        0.75rem;    /* 12px */
  --text-base:      1rem;       /* 16px */
  --text-md:        1.125rem;   /* 18px */
  --text-lg:        1.25rem;    /* 20px */
  --text-xl:        1.5rem;     /* 24px */
  --text-2xl:       2rem;       /* 32px */
  --text-3xl:       2.5rem;     /* 40px */
  --text-4xl:       3rem;       /* 48px */

  /* ── Transitions ── */
  --transition-fast:    0.15s ease;
  --transition-base:    0.25s ease;
  --transition-slow:    0.4s ease;

  /* ── Shadows ── */
  --shadow-sm:   0 1px 3px rgba(10, 30, 46, 0.08);
  --shadow-md:   0 4px 12px rgba(10, 30, 46, 0.12);
  --shadow-lg:   0 8px 28px rgba(10, 30, 46, 0.16);

}


/* ============================================================================
   BASE RESET & GLOBAL DEFAULTS
   ============================================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  color: var(--color-text-body);
  background-color: var(--p2053-white);
  line-height: 1.7;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary-light);
}

hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-xl) 0;
}


/* ============================================================================
   TYPOGRAPHY
   ============================================================================ */

h1, h2, h3, h4, h5, h6 {
  color: var(--color-text-primary);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: var(--space-sm);
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-md); }

p {
  color: var(--color-text-body);
  margin-bottom: var(--space-sm);
  line-height: 1.75;
}

.p2053-eyebrow {
  display: block;
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}

.p2053-tagline {
  font-size: var(--text-base);
  font-weight: 700;
  font-style: italic;
  color: var(--color-accent);
  letter-spacing: 0.01em;
}

.p2053-caption {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.p2053-source {
  font-size: 0.6875rem;
  color: var(--color-text-secondary);
  opacity: 0.7;
}

/* Text on dark backgrounds */
.p2053-on-dark h1,
.p2053-on-dark h2,
.p2053-on-dark h3,
.p2053-on-dark h4 {
  color: var(--p2053-white);
}

.p2053-on-dark p {
  color: rgba(255, 255, 255, 0.72);
}

.p2053-on-dark .p2053-eyebrow {
  color: var(--color-accent);
}


/* ============================================================================
   DIVI OVERRIDES — GLOBAL ELEMENTS
   ============================================================================ */

/* Divi default link color */
#page-container a {
  color: var(--color-primary);
}

/* Divi section defaults */
.et_pb_section {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

/* Divi row max-width */
.et_pb_row {
  max-width: 1180px;
}


/* ============================================================================
   NAVIGATION
   ============================================================================ */

#main-header,
#main-header .et-menu-nav {
  background-color: var(--p2053-white);
}

#main-header .et-menu-nav ul li a,
#main-header .et_mobile_nav_menu .mobile_nav .et_mobile_menu li a {
  color: var(--color-primary);
  font-weight: 500;
  transition: color var(--transition-fast);
}

#main-header .et-menu-nav ul li a:hover {
  color: var(--color-accent);
}

/* Logo text styling */
#logo {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--color-primary);
  letter-spacing: 0.08em;
}

/* Sticky header */
.et-fixed-header {
  background-color: var(--p2053-white) !important;
  box-shadow: var(--shadow-sm);
}

.et-fixed-header #main-header {
  background-color: var(--p2053-white) !important;
}


/* ============================================================================
   BUTTONS
   ============================================================================ */

/* Primary button — Emerald */
.et_pb_button,
.et_pb_button_module_wrapper .et_pb_button {
  background-color: var(--color-accent);
  color: var(--p2053-white);
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: var(--text-base);
  padding: 12px 28px;
  transition: background-color var(--transition-fast),
              border-color var(--transition-fast),
              color var(--transition-fast),
              transform var(--transition-fast);
  text-transform: none;
  letter-spacing: 0;
}

.et_pb_button:hover,
.et_pb_button_module_wrapper .et_pb_button:hover {
  background-color: var(--color-accent-light);
  border-color: var(--color-accent-light);
  color: var(--p2053-white);
  transform: translateY(-1px);
}

/* Secondary button — Ocean Blue */
.et_pb_button.p2053-btn-secondary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--p2053-white);
}

.et_pb_button.p2053-btn-secondary:hover {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-light);
}

/* Outline button — white border on dark bg */
.et_pb_button.p2053-btn-outline {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--p2053-white);
}

.et_pb_button.p2053-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: var(--p2053-white);
  color: var(--p2053-white);
}

/* Outline button — navy border on light bg */
.et_pb_button.p2053-btn-outline-navy {
  background-color: transparent;
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.et_pb_button.p2053-btn-outline-navy:hover {
  background-color: var(--color-primary);
  color: var(--p2053-white);
}


/* ============================================================================
   SECTION BACKGROUNDS
   ============================================================================ */

/* Dark — Foundation deep navy */
.p2053-section-dark {
  background-color: var(--p2053-deep-navy);
}

/* Darkest — Midnight for footer / deepest hero */
.p2053-section-darkest {
  background-color: var(--p2053-midnight);
}

/* Fellowship dark hero */
.p2053-section-fellowship {
  background-color: #060d12;
}

/* Light blue tint — Foundation sections */
.p2053-section-light-blue {
  background-color: var(--p2053-ice-blue);
}

/* Light green tint — Fellowship sections */
.p2053-section-light-green {
  background-color: var(--p2053-mist);
}

/* Cloud — neutral alternating sections */
.p2053-section-cloud {
  background-color: var(--p2053-cloud);
}

/* Pure white */
.p2053-section-white {
  background-color: var(--p2053-white);
}


/* ============================================================================
   STAT / DATA MODULES
   ============================================================================ */

.p2053-stat-number {
  font-size: var(--text-4xl);
  font-weight: 900;
  color: var(--color-accent);
  line-height: 1;
  display: block;
  margin-bottom: var(--space-xs);
}

.p2053-stat-label {
  font-size: var(--text-sm);
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
  max-width: 160px;
  margin: 0 auto;
}

/* Data bar on dark background */
.p2053-data-bar {
  background-color: var(--p2053-deep-navy);
  text-align: center;
  padding: var(--space-xl) 0;
}

.p2053-data-bar .et_pb_column {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.p2053-data-bar .et_pb_column:last-child {
  border-right: none;
}


/* ============================================================================
   CARD AND BLURB MODULES
   ============================================================================ */

/* Standard card */
.p2053-card {
  background-color: var(--p2053-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: box-shadow var(--transition-base);
}

.p2053-card:hover {
  box-shadow: var(--shadow-md);
}

/* Card with top accent border */
.p2053-card-accented {
  border-top: 4px solid var(--color-primary);
}

.p2053-card-accented.accent-emerald {
  border-top-color: var(--color-accent);
}

/* Dark card — for Fellowship spotlight */
.p2053-card-dark {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
}

/* Blurb module icon area */
.et_pb_blurb .et_pb_main_blurb_image {
  margin-bottom: var(--space-sm);
}

/* Blurb title */
.et_pb_blurb_content .et_pb_module_header,
.et_pb_blurb_content h4 {
  color: var(--color-text-primary);
  font-size: var(--text-md);
  font-weight: 700;
}

/* How-it-works card header */
.p2053-card-header-companies {
  background-color: var(--color-primary);
  color: var(--p2053-white);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  padding: var(--space-md) var(--space-lg);
}

.p2053-card-header-fellows {
  background-color: var(--color-accent);
  color: var(--p2053-white);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  padding: var(--space-md) var(--space-lg);
}


/* ============================================================================
   ENTITY TAGS / PILLS
   ============================================================================ */

.p2053-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--radius-pill);
  padding: 5px 16px;
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
}

/* Foundation tag */
.p2053-tag-foundation {
  background-color: var(--p2053-ice-blue);
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}

/* Fellowship tag */
.p2053-tag-fellowship {
  background-color: rgba(43, 174, 142, 0.15);
  border: 1px solid rgba(43, 174, 142, 0.35);
  color: var(--color-accent);
}

.p2053-tag::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
  flex-shrink: 0;
}


/* ============================================================================
   GIVING LEVELS TABLE
   ============================================================================ */

.p2053-giving-table {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  margin: var(--space-lg) 0;
}

.p2053-giving-table .p2053-giving-header {
  background-color: var(--color-primary);
  color: var(--p2053-white);
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 12px 18px;
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.p2053-giving-table .p2053-giving-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-border);
  background-color: var(--p2053-white);
  font-size: var(--text-base);
}

.p2053-giving-table .p2053-giving-row:last-child {
  border-bottom: none;
}

.p2053-giving-table .p2053-giving-row:nth-child(even) {
  background-color: var(--p2053-cloud);
}

.p2053-giving-level {
  font-weight: 700;
  color: var(--color-text-primary);
}

.p2053-giving-amount {
  font-weight: 600;
  color: var(--color-primary);
}


/* ============================================================================
   MODEL FLOW DIAGRAM
   ============================================================================ */

.p2053-model-node {
  background-color: var(--p2053-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.p2053-model-node-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-sm);
}

.p2053-model-arrow {
  font-size: 1.75rem;
  color: var(--color-accent);
  text-align: center;
  line-height: 1;
}


/* ============================================================================
   FOUNDER SECTION
   ============================================================================ */

.p2053-founder-card {
  background-color: var(--p2053-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-2xl);
  position: relative;
  overflow: hidden;
}

.p2053-founder-quote-mark {
  position: absolute;
  top: -10px;
  left: 28px;
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  color: var(--p2053-ice-blue);
  pointer-events: none;
  user-select: none;
}

.p2053-founder-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--p2053-white);
  flex-shrink: 0;
}

.p2053-founder-sig {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border);
}


/* ============================================================================
   CONTACT PAGE
   ============================================================================ */

.p2053-contact-card {
  background-color: var(--p2053-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-xl);
}

.p2053-contact-entity-label {
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-accent);
  display: block;
  margin-bottom: 6px;
}

.p2053-contact-email {
  font-size: var(--text-base);
  color: var(--color-primary);
  margin-bottom: var(--space-lg);
  display: block;
}

/* Divi contact form styling */
.et_pb_contact_form_container input,
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--p2053-cloud);
  color: var(--color-text-body);
  padding: 11px 14px;
  font-size: var(--text-base);
  width: 100%;
  transition: border-color var(--transition-fast);
}

.et_pb_contact_form_container input:focus,
.et_pb_contact_form_container textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

.et_pb_contact_form_container textarea {
  min-height: 120px;
  resize: vertical;
}

.et_pb_contact_submit {
  background-color: var(--color-primary);
  color: var(--p2053-white);
  border: none;
  border-radius: var(--radius-md);
  padding: 12px 28px;
  font-size: var(--text-base);
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  transition: background-color var(--transition-fast);
  text-transform: none;
  letter-spacing: 0;
}

.et_pb_contact_submit:hover {
  background-color: var(--color-primary-light);
}


/* ============================================================================
   FOOTER
   ============================================================================ */

#footer-widgets,
.et_pb_footer_tabbed_content,
#main-footer {
  background-color: var(--p2053-midnight);
}

#footer-widgets .footer-widget h4,
#footer-widgets .footer-widget .widgettitle {
  font-size: var(--text-eyebrow);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: var(--space-md);
}

#footer-widgets .footer-widget a {
  color: rgba(255, 255, 255, 0.45);
  font-size: var(--text-base);
  display: block;
  margin-bottom: 9px;
  transition: color var(--transition-fast);
}

#footer-widgets .footer-widget a:hover {
  color: var(--color-accent);
}

.p2053-footer-brand-name {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--p2053-white);
  letter-spacing: 0.08em;
  display: block;
}

.p2053-footer-brand-sub {
  font-size: var(--text-eyebrow);
  color: var(--color-accent);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  display: block;
  margin-bottom: var(--space-sm);
}

.p2053-footer-brand-body {
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.28);
  line-height: 1.75;
  max-width: 220px;
}

/* Footer bottom bar */
#et-footer-nav {
  background-color: rgba(0, 0, 0, 0.25);
}

#et-footer-nav .et-social-icons li a,
.et_pb_footer_tabbed_content .et_pb_widget_area_footer .et_pb_widget li a {
  color: rgba(255, 255, 255, 0.35);
}

.p2053-legal-text {
  font-size: 0.625rem;
  color: rgba(255, 255, 255, 0.22);
  line-height: 1.75;
  max-width: 680px;
}


/* ============================================================================
   DIVIDERS
   ============================================================================ */

.p2053-divider {
  width: 60px;
  height: 3px;
  background-color: var(--color-accent);
  border: none;
  margin: var(--space-md) 0;
  border-radius: 2px;
}

.et_pb_divider_internal,
.et_pb_space {
  border-color: var(--color-border);
}


/* ============================================================================
   RESPONSIVE — TABLET (max-width: 980px)
   ============================================================================ */

@media only screen and (max-width: 980px) {

  :root {
    --text-4xl: 2.25rem;
    --text-3xl: 1.875rem;
    --text-2xl: 1.5rem;
  }

  .et_pb_section {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }

  .p2053-stat-number {
    font-size: var(--text-3xl);
  }

  .p2053-data-bar .et_pb_column {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: var(--space-lg);
    margin-bottom: var(--space-lg);
  }

  .p2053-data-bar .et_pb_column:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

}


/* ============================================================================
   RESPONSIVE — MOBILE (max-width: 767px)
   ============================================================================ */

@media only screen and (max-width: 767px) {

  :root {
    --text-4xl: 1.875rem;
    --text-3xl: 1.5rem;
    --text-2xl: 1.25rem;
  }

  .et_pb_section {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }

  .p2053-founder-card {
    padding: var(--space-lg);
  }

  .p2053-founder-quote-mark {
    font-size: 5rem;
  }

  .et_pb_button,
  .et_pb_button_module_wrapper .et_pb_button {
    width: 100%;
    text-align: center;
    display: block;
  }

  .p2053-stat-number {
    font-size: var(--text-2xl);
  }

  .p2053-model-arrow {
    transform: rotate(90deg);
  }

}


/* ============================================================================
   DIVI BUILDER HELPERS (visual editing aids — no impact on front end)
   ============================================================================ */

.p2053-placeholder-text {
  color: var(--color-text-secondary);
  font-style: italic;
  opacity: 0.6;
}

.p2053-todo {
  outline: 2px dashed var(--color-accent);
  outline-offset: 4px;
}


/* ============================================================================
   END OF PROJECT2053 CHILD THEME — style.css
   Developed by Northside Marketing Inc. | https://northsidemarketing.net/
   ============================================================================ */
