/* Metric-matched fallbacks: text paints instantly in a local font sized to
   match the webfont, so the swap barely moves layout (CLS). */
@font-face {
	font-family: 'Cormorant Garamond Fallback';
	src: local('Georgia');
	size-adjust: 88%;
	ascent-override: 100%;
	descent-override: 28%;
	line-gap-override: 0%;
}
@font-face {
	font-family: 'Jost Fallback';
	src: local('Helvetica Neue'), local('Arial');
	size-adjust: 97%;
}

/* Tower Optical — design-token bridge.
   Mirrors the Divi Variable Library ids (--gcid-* colors, --gvid-number-*)
   at :root so number tokens resolve on the frontend, and aliases the
   original design-system names so CSS ported from the static reference
   package works unchanged. */

:root {
	/* — Colors (mirror of Variable Library) — */
	--gcid-onyx-950: #100D09;
	--gcid-onyx-900: #16130E;
	--gcid-onyx-800: #211C15;
	--gcid-onyx-700: #2E2820;
	--gcid-onyx-600: #3D362B;
	--gcid-ivory-50: #FCFAF4;
	--gcid-ivory-100: #F7F1E6;
	--gcid-ivory-200: #F0E8D8;
	--gcid-ivory-300: #E7DCC7;
	--gcid-stone-50: #F4F0E9;
	--gcid-stone-100: #E8E1D5;
	--gcid-stone-200: #D6CCBB;
	--gcid-stone-300: #BCAF9B;
	--gcid-stone-400: #9C8E78;
	--gcid-stone-500: #7C6F5B;
	--gcid-stone-600: #5E5344;
	--gcid-stone-700: #453D32;
	--gcid-stone-800: #2E2820;
	--gcid-stone-900: #1B170F;
	--gcid-brass-200: #E3D0A8;
	--gcid-brass-300: #CFB37A;
	--gcid-brass-400: #C0A05E;
	--gcid-brass-500: #B08D4C;
	--gcid-brass-600: #98763A;
	--gcid-brass-700: #7C602E;
	--gcid-maroon-400: #FFFFFF;
	--gcid-maroon-500: #141312;
	--gcid-maroon-600: #3D362B;
	--gcid-maroon-700: #000000;
	--gcid-maroon-soft: #F0E8D8;
	--gcid-bordeaux-500: #453D32;
	--gcid-bordeaux-600: #2E2820;
	--gcid-bordeaux-700: #1B170F;
	--gcid-bottle-600: #25382E;
	--gcid-white: #FFFFFF;
	--gcid-black: #000000;
	--gcid-bg-page: #F7F1E6;
	--gcid-bg-page-alt: #FCFAF4;
	--gcid-bg-inverse: #16130E;
	--gcid-surface-card: #FCFAF4;
	--gcid-surface-raised: #FFFFFF;
	--gcid-surface-sunken: #F0E8D8;
	--gcid-surface-inverse: #211C15;
	--gcid-text-primary: #16130E;
	--gcid-text-secondary: #5E5344;
	--gcid-text-muted: #7C6F5B;
	--gcid-text-inverse: #F7F1E6;
	--gcid-text-inverse-muted: #BCAF9B;
	--gcid-text-accent: #98763A;
	--gcid-text-brand: #141312;
	--gcid-text-brand-hi: #FFFFFF;
	--gcid-border-hairline: #D6CCBB;
	--gcid-border-strong: #16130E;
	--gcid-border-accent: #B08D4C;
	--gcid-border-inverse: #453D32;
	--gcid-accent: #B08D4C;
	--gcid-accent-hover: #98763A;
	--gcid-accent-soft: #E3D0A8;
	--gcid-heritage: #2E2820;
	--gcid-brand: #141312;
	--gcid-brand-hover: #3D362B;
	--gcid-brand-hi: #FFFFFF;
	--gcid-brand-soft: #F0E8D8;
	--gcid-on-brand: #FFFFFF;
	--gcid-chrome-ink: #141312;
	--gcid-chrome-muted: #6B645D;
	--gcid-chrome-line: #E5DED4;
	--gcid-chrome-paper: #FFFFFF;
	--gcid-util-text: #E8E5E2;
	--gcid-footer-text: #CFC9C2;
	--gcid-footer-muted: #8A837C;
	--gcid-hero-sub-text: #E0DCD6;
	--gcid-crumb-text: #A49C93;
	--gcid-google-blue: #4285F4;
	--gcid-google-red: #EA4335;
	--gcid-google-yellow: #FBBC05;
	--gcid-google-green: #34A853;
	--gcid-glass-card-bg: rgba(255,255,255,0.07);
	--gcid-glass-card-border: rgba(255,255,255,0.16);
	--gcid-soc-box-border: rgba(255,255,255,0.2);
	--gcid-f-rule: rgba(255,255,255,0.14);
	--gcid-shadow-sm-color: rgba(22,19,14,0.07);
	--gcid-give-icon-bg: rgba(20,19,18,0.07);
	--gcid-glass-badge-bg: rgba(255,255,255,0.03);

	/* — Numbers (NOT emitted by Divi — this file is their only frontend source) — */
	--gvid-number-space-1: 0.25rem;
	--gvid-number-space-2: 0.5rem;
	--gvid-number-space-3: 0.75rem;
	--gvid-number-space-4: 1rem;
	--gvid-number-space-5: 1.5rem;
	--gvid-number-space-6: 2rem;
	--gvid-number-space-7: 3rem;
	--gvid-number-space-8: 4rem;
	--gvid-number-space-9: 6rem;
	--gvid-number-space-10: 8rem;
	--gvid-number-container-sm: 42rem;
	--gvid-number-container-md: 64rem;
	--gvid-number-container-lg: 80rem;
	--gvid-number-container-xl: 90rem;
	--gvid-number-section-y: 6rem;
	--gvid-number-gutter: 2rem;
	--gvid-number-radius-xs: 2px;
	--gvid-number-radius-sm: 4px;
	--gvid-number-radius-md: 6px;
	--gvid-number-radius-lg: 10px;
	--gvid-number-radius-pill: 999px;
	--gvid-number-fnt-size-display-2xl: clamp(3.5rem, 7vw, 6.5rem);
	--gvid-number-fnt-size-display-xl: clamp(2.75rem, 5vw, 4.5rem);
	--gvid-number-fnt-size-display-lg: clamp(2.25rem, 4vw, 3.25rem);
	--gvid-number-fnt-size-display-md: 2rem;
	--gvid-number-fnt-size-display-sm: 1.5rem;
	--gvid-number-fnt-size-xl: 1.375rem;
	--gvid-number-fnt-size-lg: 1.125rem;
	--gvid-number-fnt-size-md: 1rem;
	--gvid-number-fnt-size-sm: 0.875rem;
	--gvid-number-fnt-size-xs: 0.75rem;
	--gvid-number-fnt-size-page-hero: clamp(44px, 6vw, 86px);
	--gvid-number-fnt-size-section-head: clamp(36px, 4.6vw, 58px);
	--gvid-number-ls-eyebrow: 0.3em;
	--gvid-number-ls-caps: 0.2em;
	--gvid-number-ls-nav: 0.16em;
	--gvid-number-fw-regular: 400;
	--gvid-number-fw-medium: 500;
	--gvid-number-fw-semibold: 600;
	--gvid-number-lh-hero: 0.98;
	--gvid-number-lh-section-head: 1;
	--gvid-number-lh-body: 1.7;
	--gvid-number-button-pad-y: 16px;
	--gvid-number-button-pad-x: 34px;
	--gvid-number-button-sm-pad-y: 12px;
	--gvid-number-button-sm-pad-x: 24px;
	--gvid-number-container-site: 1360px;
	--gvid-number-section-pad-y: clamp(72px, 10vh, 120px);
	--gvid-number-space-none: 0px;
	--gvid-number-gutter-page: clamp(24px, 5vw, 64px);
	--gvid-number-space-f-grid-top: 80px;
	--gvid-number-logo-width-header: 196px;
	--gvid-number-logo-width-footer: 220px;
	--gvid-number-border-thin: 1px;
	--gvid-number-border-med: 1.5px;
	--gvid-number-border-rule-thick: 3px;
	--gvid-number-fnt-size-2xs: 12px;
	--gvid-number-ls-util: 0.04em;
	--gvid-number-ls-f-label: 0.22em;
	--gvid-number-lh-compact: 1.4;
	--gvid-number-lh-body-tight: 1.6;
	--gvid-number-lh-loose: 2;
	--gvid-number-fnt-size-home-hero: clamp(46px, 6.4vw, 96px);
	--gvid-number-lh-home-hero: 0.92;
	--gvid-number-fnt-size-nl-head: clamp(30px, 3.6vw, 46px);
	--gvid-number-fnt-size-heritage-head: clamp(32px, 3.8vw, 50px);
	--gvid-number-fnt-size-band-head: clamp(34px, 4.8vw, 60px);
	--gvid-number-fnt-size-stat: 44px;
	--gvid-number-fnt-size-body-17: 17px;
	--gvid-number-fnt-size-body-16: 16px;
	--gvid-number-radius-card: 8px;
	--gvid-number-space-card-pad-y: 34px;
	--gvid-number-space-card-pad-x: 30px;
	--gvid-number-space-hbar-pad-y: 30px;
	--gvid-number-space-hbar-pad-x: 40px;
	--gvid-number-control-h: 52px;
	--gvid-number-hero-video-h: clamp(420px, 60vh, 820px);
	--gvid-number-heritage-img-min-h: 520px;
	--gvid-number-space-band-pad-y: clamp(80px, 12vh, 140px);
	--gvid-number-space-section-head-gap: 56px;
	--gvid-number-lh-quote: 1.75;
	--gvid-number-space-hero-top: clamp(34px, 5vh, 60px);
	--gvid-number-space-hero-bot: clamp(28px, 4vh, 48px);
	--gvid-number-gap-cards: clamp(20px, 2.4vw, 32px);
	--gvid-number-gap-logos: clamp(34px, 4.5vw, 72px);
	--gvid-number-gap-stats: 44px;
	--gvid-number-gap-hbar: 36px;
	--gvid-number-gap-cta: 14px;
	--gvid-number-space-logos-bot: 52px;
	--gvid-number-container-nl: 620px;
	--gvid-number-space-heritage-pad-y: clamp(56px, 7vw, 104px);
	--gvid-number-space-heritage-pad-x: clamp(32px, 5vw, 80px);
	--gvid-number-space-hbar-top: 34px;
	--gvid-number-space-eyebrow-gap: 16px;
	--gvid-number-space-card-gap: 16px;
	--gvid-number-shadow-sm-y: 2px;
	--gvid-number-shadow-sm-blur: 8px;
	--gvid-number-space-phero-y: clamp(60px, 11vh, 132px);
	--gvid-number-fnt-size-hero-sub: clamp(15px, 1.3vw, 18px);
	--gvid-number-gap-founding: clamp(40px, 6vw, 90px);
	--gvid-number-fnt-size-founding-head: clamp(30px, 3.6vw, 48px);
	--gvid-number-fnt-size-founding-body: 16.5px;
	--gvid-number-fnt-size-mission-q: clamp(26px, 3.4vw, 44px);
	--gvid-number-fnt-size-tquote: clamp(24px, 3vw, 38px);
	--gvid-number-fnt-size-cta-head: clamp(30px, 3.8vw, 50px);
	--gvid-number-fnt-size-item-title: 22px;
	--gvid-number-fnt-size-timeline-body: 15.5px;
	--gvid-number-fnt-size-give-title: 26px;
	--gvid-number-fnt-size-give-li: 15px;
	--gvid-number-fnt-size-reason-num: 40px;
	--gvid-number-fnt-size-mile-year: 26px;
	--gvid-number-container-timeline: 900px;
	--gvid-number-space-mile-gap: clamp(40px, 5vh, 60px);
	--gvid-number-gap-give: clamp(28px, 4vw, 56px);
	--gvid-number-space-reason-pad: clamp(30px, 3vw, 44px);
	--gvid-number-ls-attr: 0.24em;
	--gvid-number-lh-founding: 1.8;
	--gvid-number-fnt-size-intro-lead: clamp(22px, 2.5vw, 32px);
	--gvid-number-fnt-size-brand-card: 23px;
	--gvid-number-fnt-size-roster-cat: 12px;
	--gvid-number-flogo-cell-h: 132px;
	--gvid-number-gap-roster: clamp(14px, 1.6vw, 22px);
	--gvid-number-space-badge-pad: clamp(40px, 5vw, 72px);
	--gvid-number-space-bcard-pad-y: 34px;
	--gvid-number-space-bcard-pad-x: 20px;
	--gvid-number-ls-display-tight: -0.01em;
	--gvid-number-gap-gallery: clamp(16px, 2vw, 28px);
	--gvid-number-fnt-size-gitem-nm: 19px;
	--gvid-number-space-gintro-top: clamp(56px, 7vh, 90px);
	--gvid-number-space-gallery-top: clamp(40px, 5vh, 60px);
	--gvid-number-fnt-size-contact-head: clamp(28px, 3.4vw, 44px);
	--gvid-number-gap-cgrid: clamp(40px, 5vw, 80px);
	--gvid-number-map-h: clamp(360px, 48vh, 560px);
	--gvid-number-fnt-size-form-head: 26px;
	--gvid-number-space-form-pad: clamp(30px, 3.5vw, 52px);
	--gvid-number-radius-form: 12px;
	--gvid-number-fnt-size-lhero-h1: clamp(38px, 5vw, 68px);
	--gvid-number-space-lhero-y: clamp(52px, 8vh, 96px);
	--gvid-number-fnt-size-doc-lead: clamp(20px, 2.2vw, 26px);
	--gvid-number-fnt-size-doc-h2: clamp(23px, 2.4vw, 30px);
	--gvid-number-container-doc: 760px;
	--gvid-number-space-doc-y: clamp(56px, 8vh, 96px);

	/* — Fonts — */
	--gvid-font-heading: 'Cormorant Garamond', 'Cormorant Garamond Fallback', Georgia, serif;
	--gvid-font-body: 'Jost', 'Century Gothic', system-ui, sans-serif;

	/* — Original design-system aliases (reference-package compatibility) — */
	--onyx-950: var(--gcid-onyx-950); --onyx-900: var(--gcid-onyx-900);
	--onyx-800: var(--gcid-onyx-800); --onyx-700: var(--gcid-onyx-700);
	--onyx-600: var(--gcid-onyx-600);
	--ivory-50: var(--gcid-ivory-50); --ivory-100: var(--gcid-ivory-100);
	--ivory-200: var(--gcid-ivory-200); --ivory-300: var(--gcid-ivory-300);
	--stone-50: var(--gcid-stone-50); --stone-100: var(--gcid-stone-100);
	--stone-200: var(--gcid-stone-200); --stone-300: var(--gcid-stone-300);
	--stone-400: var(--gcid-stone-400); --stone-500: var(--gcid-stone-500);
	--stone-600: var(--gcid-stone-600); --stone-700: var(--gcid-stone-700);
	--stone-800: var(--gcid-stone-800); --stone-900: var(--gcid-stone-900);
	--brass-200: var(--gcid-brass-200); --brass-300: var(--gcid-brass-300);
	--brass-400: var(--gcid-brass-400); --brass-500: var(--gcid-brass-500);
	--brass-600: var(--gcid-brass-600); --brass-700: var(--gcid-brass-700);
	--maroon-400: var(--gcid-maroon-400); --maroon-500: var(--gcid-maroon-500);
	--maroon-600: var(--gcid-maroon-600); --maroon-700: var(--gcid-maroon-700);
	--maroon-soft: var(--gcid-maroon-soft);
	--bordeaux-500: var(--gcid-bordeaux-500); --bordeaux-600: var(--gcid-bordeaux-600);
	--bordeaux-700: var(--gcid-bordeaux-700);
	--bottle-600: var(--gcid-bottle-600);
	--white: #FFFFFF; --black: #000000;
	--bg-page: var(--gcid-bg-page); --bg-page-alt: var(--gcid-bg-page-alt);
	--bg-inverse: var(--gcid-bg-inverse);
	--surface-card: var(--gcid-surface-card); --surface-raised: var(--gcid-surface-raised);
	--surface-sunken: var(--gcid-surface-sunken); --surface-inverse: var(--gcid-surface-inverse);
	--text-primary: var(--gcid-text-primary); --text-secondary: var(--gcid-text-secondary);
	--text-muted: var(--gcid-text-muted); --text-inverse: var(--gcid-text-inverse);
	--text-inverse-muted: var(--gcid-text-inverse-muted); --text-accent: var(--gcid-text-accent);
	--text-on-accent: var(--gcid-onyx-900);
	--text-brand: var(--gcid-text-brand); --text-brand-hi: var(--gcid-text-brand-hi);
	--border-hairline: var(--gcid-border-hairline); --border-strong: var(--gcid-border-strong);
	--border-accent: var(--gcid-border-accent); --border-inverse: var(--gcid-border-inverse);
	--accent: var(--gcid-accent); --accent-hover: var(--gcid-accent-hover);
	--accent-soft: var(--gcid-accent-soft); --heritage: var(--gcid-heritage);
	--brand: var(--gcid-brand); --brand-hover: var(--gcid-brand-hover);
	--brand-hi: var(--gcid-brand-hi); --brand-soft: var(--gcid-brand-soft);
	--on-brand: var(--gcid-on-brand);
	--focus-ring: var(--gcid-maroon-500);
	--mar-hi: var(--gcid-maroon-400);

	--font-display: var(--gvid-font-heading);
	--font-sans: var(--gvid-font-body);
	--font-body: var(--gvid-font-body);
	--fw-light: 300; --fw-regular: 400; --fw-medium: 500;
	--fw-semibold: 600; --fw-bold: 700; --fw-black: 900;
	--fs-display-2xl: var(--gvid-number-fnt-size-display-2xl);
	--fs-display-xl: var(--gvid-number-fnt-size-display-xl);
	--fs-display-lg: var(--gvid-number-fnt-size-display-lg);
	--fs-display-md: var(--gvid-number-fnt-size-display-md);
	--fs-display-sm: var(--gvid-number-fnt-size-display-sm);
	--fs-xl: var(--gvid-number-fnt-size-xl); --fs-lg: var(--gvid-number-fnt-size-lg);
	--fs-md: var(--gvid-number-fnt-size-md); --fs-sm: var(--gvid-number-fnt-size-sm);
	--fs-xs: var(--gvid-number-fnt-size-xs);
	--lh-tight: 1.04; --lh-snug: 1.2; --lh-normal: 1.5; --lh-relaxed: 1.7;
	--ls-eyebrow: 0.32em; --ls-caps: 0.18em; --ls-wide: 0.06em;
	--ls-normal: 0; --ls-display: -0.01em;
	--space-0: 0; --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
	--space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem;
	--space-8: 4rem; --space-9: 6rem; --space-10: 8rem;
	--container-sm: 42rem; --container-md: 64rem; --container-lg: 80rem;
	--container-xl: 90rem;
	--section-y: var(--space-9); --gutter: var(--space-6);
	--radius-none: 0; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px;
	--radius-lg: 10px; --radius-pill: 999px;
	--border-thin: 1px; --border-med: 1.5px; --border-thick: 2px;
	--shadow-xs: 0 1px 2px rgba(22,19,14,0.06);
	--shadow-sm: 0 2px 8px rgba(22,19,14,0.07);
	--shadow-md: 0 8px 24px rgba(22,19,14,0.10);
	--shadow-lg: 0 20px 48px rgba(22,19,14,0.14);
	--shadow-inset: inset 0 1px 0 rgba(255,255,255,0.5);
	--ease-standard: cubic-bezier(0.4,0,0.2,1);
	--ease-out: cubic-bezier(0.16,1,0.3,1);
	--dur-fast: 140ms; --dur-med: 240ms; --dur-slow: 420ms;
}

/* — Typography baseline — */
body,
.et_pb_module p,
.et_pb_module li {
	font-family: var(--gvid-font-body);
}
h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3,
.et_pb_module h4, .et_pb_module h5, .et_pb_module h6 {
	font-family: var(--gvid-font-heading);
	color: var(--gcid-text-primary);
	letter-spacing: var(--ls-display);
}
body {
	background-color: var(--gcid-bg-page);
	color: var(--gcid-text-primary);
}

/* — Divi white-box kill, layer 1: bare text elements — */
.et_pb_module p:not([class*="to-"]),
.et_pb_module span:not(.et_pb_button):not(.gfield_required):not(.material-symbols-outlined):not([class*="to-"]),
.et_pb_module li:not([class*="to-"]),
.et_pb_module strong,
[class*="divimcp_"] p,
[class*="divimcp_"] span:not(.et_pb_button):not(.material-symbols-outlined):not([class*="_bg"]),
[class*="divimcp_"] li,
[class*="divimcp_"] strong {
	background-color: transparent !important;
}

/* — Divi white-box kill, layer 2: module wrappers — */
.et_pb_module.et_pb_text,
.et_pb_module.et_pb_text .et_pb_text_inner,
.et_pb_module.et_pb_heading,
.et_pb_module.et_pb_heading .et_pb_heading_container,
.et_pb_module.et_pb_menu,
.et_pb_module.et_pb_menu .et_pb_menu_inner_container,
.et_pb_module.et_pb_menu .et_pb_menu__wrap,
.et_pb_module.et_pb_menu .et_pb_menu__menu,
.et_pb_module.et_pb_blurb,
.et_pb_module.et_pb_image,
.et_pb_module.et_pb_button_module_wrapper {
	background-color: transparent !important;
}
.et_pb_text.et_pb_bg_layout_light,
.et_pb_heading.et_pb_bg_layout_light,
.et_pb_menu.et_pb_bg_layout_light,
.et_pb_blurb.et_pb_bg_layout_light,
.et_pb_image.et_pb_bg_layout_light {
	background-color: transparent !important;
}
