
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

:root {
	--color-navy: #0f2a4a;
	--color-navy-mid: #163861;
	--color-navy-light: #1e4d82;
	--color-primary: #002f6c;
	--color-red: #C1121F;
	--color-red-hover: #A30F1A;
	--color-tid: #C1121F;
	--color-tid-light: #E01525;
	--color-white: #FFFFFF;
	--color-cream: #F7F4EF;
	--color-cream-dark: #EDE9E1;
	--color-gray-100: #F5F5F5;
	--color-gray-200: #E8E8E8;
	--color-gray-300: #D4D4D4;
	--color-gray-400: #A8A8A8;
	--color-gray-500: #757575;
	--color-gray-600: #525252;
	--color-gray-700: #3D3D3D;
	--color-gray-800: #262626;
	--color-gray-900: #141414;
	--color-text: #1A1A2E;
	--color-text-muted: #6B7280;
	--color-text-light: #9CA3AF;
	--color-text-white: #FFFFFF;
	--color-success: #16A34A;
	--color-warning: #D97706;
	--color-danger: #DC2626;
	--color-info: #2563EB;
	--color-border: #E5E1DA;
	--color-border-dark: #C8C4BC;
	--font-heading: 'Merriweather', Georgia, 'Times New Roman', serif;
	--font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--text-xs: 0.775rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.25rem;
	--text-5xl: 3rem;
	--text-6xl: 3.75rem;
	--text-7xl: 4.5rem;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;
	--leading-tight: 1.25;
	--leading-snug: 1.375;
	--leading-normal: 1.5;
	--leading-relaxed: 1.625;
	--leading-loose: 2;
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-20: 5rem;
	--space-24: 6rem;
	--radius-sm: 0.25rem;
	--radius-md: 0.5rem;
	--radius-lg: 0.75rem;
	--radius-xl: 1rem;
	--radius-2xl: 1.5rem;
	--radius-full: 9999px;
	--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);
	--shadow-md: 0 4px 16px rgba(0, 0, 0, .10), 0 2px 6px rgba(0, 0, 0, .06);
	--shadow-lg: 0 10px 40px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .08);
	--shadow-xl: 0 20px 60px rgba(0, 0, 0, .15), 0 8px 24px rgba(0, 0, 0, .10);
	--shadow-navy: 0 4px 24px rgba(11, 25, 41, .35);
	--shadow-card: 0 2px 12px rgba(0, 0, 0, .08);
	--transition-fast: 150ms ease;
	--transition-base: 250ms ease;
	--transition-slow: 400ms ease;
	--transition-bounce: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
	--container-max: 1240px;
	--container-wide: 1400px;
	--nav-height: 72px;
	--topbar-height: 40px;
	--z-below: -1;
	--z-base: 0;
	--z-above: 10;
	--z-dropdown: 100;
	--z-sticky: 200;
	--z-overlay: 300;
	--z-modal: 400;
	--z-toast: 500;
	--c-red-c1121f-a35: rgba(193, 18, 31, .35);
	--c-white-a50: rgba(255, 255, 255, .5);
	--c-gold-c9a84c-a40: rgba(201, 168, 76, .4);
	--c-navy-0b1929-a12: rgba(11, 25, 41, .12);
	--c-red-c1121f-a10: rgba(193, 18, 31, .1);
	--c-navy-0b1929-a10: rgba(11, 25, 41, .1);
	--c-white-a6: rgba(255,255,255,.06);
	--c-gold-c9a84c-a50: rgba(201,168,76,.5);
	--c-white-a75: rgba(255,255,255,.75);
	--c-gold-c9a84c: #c9a84c;
	--c-white-a7: rgba(255,255,255,.07);
	--c-white-a60: rgba(255,255,255,.6);
	--c-white-a8: rgba(255,255,255,.08);
	--c-black-a40: rgba(0,0,0,.4);
	--c-white-a10: rgba(255,255,255,.1);
	--c-white-a70: rgba(255,255,255,.7);
	--c-red-c1121f-a8: rgba(193,18,31,.08);
	--c-navy-0b1929-a97: rgba(11,25,41,.97);
	--c-navy-0b1929-a85: rgba(11,25,41,.85);
	--c-navy-0b1929-a50: rgba(11,25,41,.5);
	--c-white-a30: rgba(255,255,255,.3);
	--c-white-a80: rgba(255,255,255,.8);
	--c-white-a25: rgba(255,255,255,.25);
	--c-navy-0b1929-a7: rgba(11,25,41,.07);
	--c-red-c1121f-a12: rgba(193,18,31,.12);
	--c-white-a15: rgba(255,255,255,.15);
	--c-navy-0b1929-a90: rgba(11,25,41,.9);
	--c-red-c1121f-a15: rgba(193,18,31,.15);
	--c-white-a65: rgba(255,255,255,.65);
	--c-white-a20: rgba(255,255,255,.2);
	--c-white-a40: rgba(255,255,255,.4);
	--c-navy-070f1c: #070F1C;
	--c-white-a12: rgba(255,255,255,.12);
	--c-white-a55: rgba(255,255,255,.55);
	--c-navy-0b1929-a80: rgba(11,25,41,.8);
	--c-navy-0b1929-a98: rgba(11,25,41,.98);
	--c-white-a5: rgba(255,255,255,.05);
	--c-blue-f5f7fb: #f5f7fb;
	--c-navy-002f6c-a20: rgba(0,47,108,.2);
	--c-navy-002f6c-a12: rgba(0,47,108,.12);
	--c-black-a55: rgba(0,0,0,.55);
	--c-navy-002f6c-a8: rgba(0,47,108,.08);
	--c-navy-0a3d78: #0a3d78;
	--c-white-a4: rgba(255,255,255,.04);
	--c-red-c1121f-a50: rgba(193,18,31,.5);
	--c-gold-dcc060: #dcc060;
	--c-black-a88: rgba(0,0,0,.88);
	--c-black-a45: rgba(0,0,0,.45);
	--c-black-a10: rgba(0,0,0,.1);
	--c-white-a28: rgba(255,255,255,.28);
	--c-white-a35: rgba(255,255,255,.35);
	--c-navy-0a2040: #0a2040;
	--c-black-000000: #000;
	--c-red-c1121f-a30: rgba(193,18,31,.3);
	--c-navy-0d2d5a: #0d2d5a;
	--c-navy-05122d-a90: rgba(5,18,45,.9);
	--c-navy-00143c-a50: rgba(0,20,60,.5);
	--c-white-a3: rgba(255,255,255,.03);
	--c-white-a1: rgba(255,255,255,.01);
	--c-navy-000a1e-a65: rgba(0,10,30,.65);
	--c-black-a20: rgba(0,0,0,.2);
	--c-black-a12: rgba(0,0,0,.12);
	--c-red-dc2626-a8: rgba(220,38,38,.08);
	--c-gray-111111: #111;
	--c-red-fef2f2: #fef2f2;
	--c-red-fecaca: #fecaca;
	--c-red-991b1b: #991b1b;
	--c-gray-f3f4f6: #f3f4f6;
	--c-navy-374151: #374151;
	--c-blue-e5e7eb: #e5e7eb;
	--c-navy-003d8a: #003d8a;
	--c-red-b91c1c: #b91c1c;
	--c-white-f5f7fa: #f5f7fa;
	--c-blue-e8eaf0: #e8eaf0;
	--c-navy-002f6c-a10: rgba(0,47,108,.1);
	--c-gold-f0d060: #f0d060;
	--c-navy-002f6c-a6: rgba(0,47,108,.06);
	--c-navy-002f6c-a15: rgba(0,47,108,.15);
	--c-blue-c0c4ce: #c0c4ce;
	--c-gold-e0c44e: #e0c44e;
	--c-red-c1121f-a25: rgba(193,18,31,.25);
	--c-white-f7f8fb: #f7f8fb;
	--c-navy-0a2847: #0a2847;
	--c-navy-05122d-a95: rgba(5,18,45,.95);
	--c-navy-05122d-a60: rgba(5,18,45,.6);
	--c-black-a8: rgba(0,0,0,.08);
	--c-navy-002040: #002040;
	--c-white-a72: rgba(255,255,255,.72);
	--c-red-c1121f-a40: rgba(193,18,31,.4);
	--c-red-c1121f-a0: rgba(193,18,31,0);
	--c-gray-f0f2f5: #f0f2f5;
	--c-white-f7f9fc: #f7f9fc;
	--c-white-a18: rgba(255,255,255,.18);
	--c-navy-1a202c: #1a202c;
	--c-blue-f0f3fa: #f0f3fa;
	--c-navy-002f6c-a14: rgba(0,47,108,.14);
	--c-navy-051c3e: #051c3e;
	--c-white-a5-5: rgba(255,255,255,.055);
	--c-white-a4-5: rgba(255,255,255,.045);
	--c-navy-041832-a96: rgba(4,24,50,.96);
	--c-navy-041832-a45: rgba(4,24,50,.45);
	--c-black-a6: rgba(0,0,0,.06);
	--c-navy-041832: #041832;
	--c-black-a35: rgba(0,0,0,.35);
	--c-white-a68: rgba(255,255,255,.68);
	--c-blue-e2e8f5: #e2e8f5;
	--c-red-e53e3e: #e53e3e;
	--c-blue-f7f9fd: #f7f9fd;
	--c-navy-1a2035: #1a2035;
	--c-black-a15: rgba(0,0,0,.15);
	--c-black-a5: rgba(0,0,0,.05);
	--c-red-c1121f-a45: rgba(193,18,31,.45);
	--c-red-c1121f-a4: rgba(193,18,31,.04);
	--c-navy-01296b-a10: rgba(1,41,107,.1);
	--c-red-ff0000-a25: rgba(255,0,0,.25);
	--c-navy-01296b-a12: rgba(1,41,107,.12);
	--c-red-ff0000-a10: rgba(255,0,0,.1);
	--c-navy-01296b-a35: rgba(1,41,107,.35);
	--c-blue-eef2f8: #eef2f8;
	--c-blue-dde6f4: #dde6f4;
	--c-navy-01296b-a6: rgba(1,41,107,.06);
	--c-red-ff0000: #FF0000;
	--c-red-ff0000-a8: rgba(255,0,0,.08);
	--c-navy-01296b-a15: rgba(1,41,107,.15);
	--c-navy-01296b: #01296B;
	--c-navy-01296b-a45: rgba(1,41,107,.45);
	--c-blue-f0f4f9: #f0f4f9;
	--c-navy-01296b-a3: rgba(1,41,107,.03);
	--c-black-a75: rgba(0,0,0,.75);
	--c-black-a22: rgba(0,0,0,.22);
	--c-red-c1121f-a60: rgba(193,18,31,.6);
	--c-black-a50: rgba(0,0,0,.5);
	--c-red-ff0000-a30: rgba(255,0,0,.3);
	--c-red-cc0000: #cc0000;
	--c-red-ff0000-a45: rgba(255,0,0,.45);
	--c-white-a32: rgba(255,255,255,.32);
	--c-white-a78: rgba(255,255,255,.78);
	--c-white-a38: rgba(255,255,255,.38);
	--c-navy-060e1c-a95: rgba(6,14,28,.95);
	--c-red-c1121f-a7: rgba(193,18,31,.07);
	--c-white-a96: rgba(255,255,255,.96);
	--c-white-a26: rgba(255,255,255,.26);
	--c-navy-0a1628-a65: rgba(10,22,40,.65);
	--c-navy-0a1628-a92: rgba(10,22,40,.92);
	--c-red-c1121f-a20: rgba(193,18,31,.2);
	--c-blue-e2e8f0: #e2e8f0;
	--c-navy-1e293b: #1e293b;
	--c-blue-0f4a8a: #0f4a8a;
	--c-blue-1a5fa0: #1a5fa0;
	--c-blue-e8edf4: #e8edf4;
	--c-blue-c5d4e8: #c5d4e8;
	--c-navy-001f4d: #001f4d;
	--c-navy-001233: #001233;
	--c-blue-1056a0: #1056a0;
	--c-blue-258cfb: #258cfb;
	--c-white-a45: rgba(255,255,255,.45);
	--c-blue-6b7280-a10: rgba(107,114,128,.1);
	--c-navy-0b1929: #0b1929;
	--c-red-dc2626-a10: rgba(220,38,38,.1);
	--c-red-dc2626-a25: rgba(220,38,38,.25);
	--c-orange-f59e0b-a8: rgba(245,158,11,.08);
	--c-orange-f59e0b-a20: rgba(245,158,11,.2);
	--c-red-f87171-a10: rgba(248,113,113,.1);
	--c-red-f87171-a30: rgba(248,113,113,.3);
	--c-red-fca5a5: #fca5a5;
	--c-green-4ade80-a15: rgba(74,222,128,.15);
	--c-green-4ade80: #4ade80;
	--c-green-4ade80-a25: rgba(74,222,128,.25);
	--c-green-10b981-a10: rgba(16,185,129,.1);
	--c-green-10b981-a25: rgba(16,185,129,.25);
	--c-green-059669: #059669;
	--c-orange-f59e0b-a10: rgba(245,158,11,.1);
	--c-orange-f59e0b-a25: rgba(245,158,11,.25);
	--c-navy-0b1929-a6: rgba(11,25,41,.06);
	--c-red-dc2626-a20: rgba(220,38,38,.2);
	--c-green-10b981-a12: rgba(16,185,129,.12);
	--c-green-34d399: #34d399;
	--c-red-dc2626-a12: rgba(220,38,38,.12);
	--c-red-f87171: #f87171;
	--c-navy-0a1628: #0A1628;
	--c-navy-0d2240: #0d2240;
	--c-navy-1a2e50: #1a2e50;
	--c-red-c0392b-a18: rgba(192,57,43,.18);
	--c-white-a9: rgba(255,255,255,.09);
	--c-white-a13: rgba(255,255,255,.13);
	--c-red-a93226: #a93226;
	--c-white-fafafa: #fafafa;
	--c-gray-f9fafb: #f9fafb;
	--c-blue-d1d5db: #d1d5db;
	--c-black-a9: rgba(0,0,0,.09);
	--c-black-a65: rgba(0,0,0,.65);
	--c-green-d1fae5: #d1fae5;
	--c-green-065f46: #065f46;
	--c-gold-fef3c7: #fef3c7;
	--c-orange-92400e: #92400e;
	--c-gray-c0c0c0: #c0c0c0;
	--c-navy-0a1628-a6: rgba(10,22,40,.06);
	--c-orange-ede8e0: #ede8e0;
	--c-navy-2d3748: #2d3748;
	--c-gray-f8f5ef: #f8f5ef;
	--c-orange-fdf9f3: #fdf9f3;
	--c-red-c0392b: #c0392b;
	--c-blue-4a5568: #4a5568;
	--c-red-c0392b-a15: rgba(192,57,43,.15);
	--c-red-c0392b-a30: rgba(192,57,43,.3);
	--c-blue-94a3b8: #94a3b8;
	--c-gray-e8e8e2: #e8e8e2;
	--c-blue-64748b: #64748b;
	--c-blue-475569: #475569;
	--c-navy-1e3a5f: #1e3a5f;
	--c-blue-0077b5: #0077b5;
	--c-blue-1877f2: #1877f2;
	--c-gray-f1f5f9: #f1f5f9;
	--c-black-a60: rgba(0,0,0,.6);
	--c-navy-111827: #111827;
	--c-red-c1121f-a6: rgba(193,18,31,.06);
	--c-gray-f8f9fa: #f8f9fa;
	--c-blue-4b5563: #4b5563;
	--c-navy-01296b-a4: rgba(1,41,107,.04);
	--c-navy-01296b-a55: rgba(1,41,107,.55);
	--c-gray-f8f9fc: #f8f9fc;
	--c-navy-01296b-a20: rgba(1,41,107,.2);
	--c-red-ff0000-a7: rgba(255,0,0,.07);
	--c-navy-01296b-a8: rgba(1,41,107,.08);
	--c-black-a4: rgba(0,0,0,.04);
	--c-red-ff0000-a20: rgba(255,0,0,.2);
	--c-navy-01296b-a25: rgba(1,41,107,.25);
	--c-red-ff0000-a15: rgba(255,0,0,.15);
	--c-red-ff0000-a75: rgba(255,0,0,.75);
	--c-navy-01296b-a5: rgba(1,41,107,.05);
	--c-navy-01296b-a7: rgba(1,41,107,.07);
	--c-navy-01296b-a50: rgba(1,41,107,.5);
	--c-red-ff0000-a35: rgba(255,0,0,.35);
	--c-gray-e9ecef: #e9ecef;
	--c-red-c1121f-a22: rgba(193,18,31,.22);
	--c-red-c1121f-a80: rgba(193,18,31,.8);
	--c-red-c1121f-a70: rgba(193,18,31,.7);
	--c-white-a88: rgba(255,255,255,.88);
	--c-navy-070d1e: #070d1e;
	--c-navy-080f1f: #080f1f;
	--c-navy-0c1630: #0c1630;
	--c-white-a82: rgba(255,255,255,.82);
	--c-navy-03050d: #03050d;
	--c-navy-060c18: #060c18;
	--c-red-c1121f-a28: rgba(193,18,31,.28);
	--c-navy-060c18-a60: rgba(6,12,24,.6);
	--c-white-a90: rgba(255,255,255,.9);
	--c-white-a85: rgba(255,255,255,.85);
	--c-white-a42: rgba(255,255,255,.42);
	--c-navy-060c18-a85: rgba(6,12,24,.85);
	--c-white-a22: rgba(255,255,255,.22);
	--c-navy-080f1e: #080f1e;
	--c-navy-0a1e38: #0a1e38;
	--c-navy-0d2347: #0d2347;
	--c-navy-071525: #071525;
	--c-navy-030812: rgba(3,8,18,1);
	--c-navy-030812-a85: rgba(3,8,18,.85);
	--c-navy-030812-a15: rgba(3,8,18,.15);
	--c-navy-030812-a50: rgba(3,8,18,.5);
	--c-white-a52: rgba(255,255,255,.52);
	--c-white-a48: rgba(255,255,255,.48);
	--c-navy-04090f: #04090f;
	--c-white-a2-5: rgba(255,255,255,.025);
	--c-navy-0c1a2e: #0c1a2e;
	--c-navy-091830: #091830;
	--c-navy-0d2040: #0d2040;
	--c-navy-080f1d: #080f1d;
	--c-navy-060c18-a80: rgba(6,12,24,.8);
	--c-black-a70: rgba(0,0,0,.7);
	--c-navy-0b1929-a96: rgba(11,25,41,.96);
	--c-navy-0b1929-a40: rgba(11,25,41,.4);
	--c-white-a2: rgba(255,255,255,.02);
	--c-red-8b000a: #8b000a;
	--c-black-a7: rgba(0,0,0,.07);
	--c-red-e63946: #e63946;
	--c-black-a25: rgba(0,0,0,.25);
	--c-navy-0d1f3c: #0d1f3c;
	--c-gray-f1f3f7: #f1f3f7;
	--c-gray-888888: #888;
	--c-gray-555555: #555;
	--c-gray-fff8f8: #fff8f8;
	--c-navy-01296b-a60: rgba(1,41,107,.6);
	--c-red-ff0000-a40: rgba(255,0,0,.4);
	--c-blue-013080: #013080;
	--c-navy-0b1929-a4: rgba(11,25,41,.04);
	--c-navy-0b1929-a8: rgba(11,25,41,.08);
	--c-gold-fcd34d: #fcd34d;
	--c-red-e74c3c: #e74c3c;
	--c-white-a14: rgba(255,255,255,.14);
	--c-navy-0e1b2e: #0e1b2e;
	--c-navy-080e1a: #080e1a;
	--c-blue-e2eaf5: #e2eaf5;
	--c-blue-8ea3bf: #8ea3bf;
	--c-red-c0392b-a38: rgba(192,57,43,.38);
	--c-red-c0392b-a50: rgba(192,57,43,.5);
	--c-blue-c8d8e8: #c8d8e8;
	--c-navy-060e23-a82: rgba(6,14,35,.82);
	--c-navy-060e23-a92: rgba(6,14,35,.92);
	--c-gray-f4f6f9: #f4f6f9;
	--c-gray-f8fafc: #f8fafc;
	--c-blue-f0f9ff: #f0f9ff;
	--c-blue-bae6fd: #bae6fd;
	--c-navy-16243e: #16243e;
	--c-green-22c55e-a25: rgba(34,197,94,.25);
}

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

html {
	font-size: 15.5px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	tab-size: 4;
}

body {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.72;
	color: var(--color-text);
	background-color: var(--color-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	letter-spacing: 0.01em;
	overflow-x: hidden;
}

img,
video,
svg {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

a {
	color: inherit;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
}

button {
	cursor: pointer;
	border: none;
	background: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: var(--fw-bold);
	line-height: var(--leading-tight);
	color: var(--color-navy);
}

h1 {
	font-size: clamp(var(--text-4xl), 5vw, var(--text-7xl));
}

h2 {
	font-size: clamp(var(--text-3xl), 3.5vw, var(--text-5xl));
}

h3 {
	font-size: clamp(var(--text-2xl), 2.5vw, var(--text-4xl));
}

h4 {
	font-size: clamp(var(--text-xl), 2vw, var(--text-3xl));
}

h5 {
	font-size: var(--text-xl);
}

h6 {
	font-size: var(--text-lg);
}

p {
	line-height: var(--leading-relaxed);
	color: var(--color-gray-700);
}

.section-title {
	font-family: var(--font-heading);
	font-size: clamp(var(--text-2xl), 3vw, var(--text-4xl));
	font-weight: var(--fw-bold);
	color: var(--color-navy);
	text-align: center;
	position: relative;
	padding-bottom: var(--space-4);
	margin-bottom: var(--space-8);
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--color-red), var(--color-tid));
	border-radius: var(--radius-full);
}

.section-subtitle {
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--color-text-muted);
	text-align: center;
	margin-top: calc(var(--space-4) * -1);
	margin-bottom: var(--space-8);
	line-height: var(--leading-relaxed);
}

.category-label {
	font-family: var(--font-body);
	font-size: var(--text-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-red);
}

.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-6);
}

.container--wide {
	max-width: var(--container-wide);
}

.container--narrow {
	max-width: 800px;
}

.grid {
	display: grid;
	gap: var(--space-6);
}

.grid-2 {
	grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
	grid-template-columns: repeat(4, 1fr);
}

.grid-5 {
	grid-template-columns: repeat(5, 1fr);
}

.flex {
	display: flex;
}

.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.flex-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flex-col {
	display: flex;
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.gap-2 {
	gap: var(--space-2);
}

.gap-3 {
	gap: var(--space-3);
}

.gap-4 {
	gap: var(--space-4);
}

.gap-6 {
	gap: var(--space-6);
}

.gap-8 {
	gap: var(--space-8);
}

.section {
	padding-block: var(--space-20);
}

.section--sm {
	padding-block: var(--space-12);
}

.section--lg {
	padding-block: clamp(var(--space-20), 8vw, var(--space-24));
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-6);
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.04em;
	transition: all var(--transition-base);
	white-space: nowrap;
	border: 2px solid transparent;
	cursor: pointer;
}

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

.btn--primary:hover {
	background: var(--color-red-hover);
	border-color: var(--color-red-hover);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px var(--c-red-c1121f-a35);
}

.btn--navy {
	background: var(--color-navy);
	color: var(--color-white);
	border-color: var(--color-navy);
}

.btn--navy:hover {
	background: var(--color-navy-mid);
	transform: translateY(-1px);
	box-shadow: var(--shadow-navy);
}

.btn--outline {
	background: transparent;
	color: var(--color-navy);
	border-color: var(--color-navy);
}

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

.btn--outline-white {
	background: transparent;
	color: var(--color-white);
	border-color: var(--c-white-a50);
}

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

.btn--gold {
	background: var(--color-tid);
	color: var(--color-navy);
	border-color: var(--color-tid);
}

.btn--gold:hover {
	background: var(--color-tid-light);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px var(--c-gold-c9a84c-a40);
}

.btn--sm {
	padding: var(--space-2) var(--space-4);
	font-size: var(--text-xs);
}

.btn--lg {
	padding: var(--space-4) var(--space-8);
	font-size: var(--text-base);
}

.form-group {
	margin-bottom: var(--space-5);
}

.form-label {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--fw-medium);
	color: var(--color-gray-700);
	margin-bottom: var(--space-2);
}

.form-control {
	display: block;
	width: 100%;
	padding: var(--space-3) var(--space-4);
	font-size: var(--text-base);
	font-family: var(--font-body);
	color: var(--color-text);
	background: var(--color-white);
	border: 1.5px solid var(--color-border-dark);
	border-radius: var(--radius-md);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	outline: none;
}

.form-control:focus {
	border-color: var(--color-navy);
	box-shadow: 0 0 0 3px var(--c-navy-0b1929-a12);
}

.form-control::placeholder {
	color: var(--color-gray-400);
}

.card {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	overflow: hidden;
	transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}

.badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.04em;
}

.badge--red {
	background: var(--c-red-c1121f-a10);
	color: var(--color-red);
}

.badge--navy {
	background: var(--c-navy-0b1929-a10);
	color: var(--color-navy);
}

.badge--premium {
	background: linear-gradient(135deg, var(--color-tid), var(--color-tid-light));
	color: var(--color-navy);
}

.divider {
	height: 1px;
	background: var(--color-border);
	margin-block: var(--space-6);
}

.divider--gold {
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--color-tid), transparent);
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes pulse {

	0%, 100% {
		opacity: 1;
	}

	50% {
		opacity: .5;
	}
}

@keyframes shimmer {
	0% {
		background-position: -200% 0;
	}

	100% {
		background-position: 200% 0;
	}
}

.animate-fadeInUp {
	animation: fadeInUp 0.6s ease both;
}

.animate-fadeIn {
	animation: fadeIn 0.4s ease both;
}

.animate-delay-100 {
	animation-delay: 100ms;
}

.animate-delay-200 {
	animation-delay: 200ms;
}

.animate-delay-300 {
	animation-delay: 300ms;
}

.skeleton {
	background: linear-gradient(90deg, var(--color-gray-200) 25%, var(--color-gray-100) 50%, var(--color-gray-200) 75%);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
	border-radius: var(--radius-md);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.text-navy {
	color: var(--color-navy);
}

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

.text-gold {
	color: var(--color-tid);
}

.text-muted {
	color: var(--color-text-muted);
}

.text-white {
	color: var(--color-white);
}

.text-sm {
	font-size: var(--text-sm);
}

.text-xs {
	font-size: var(--text-xs);
}

.text-lg {
	font-size: var(--text-lg);
}

.font-heading {
	font-family: var(--font-heading);
}

.font-bold {
	font-weight: var(--fw-bold);
}

.font-medium {
	font-weight: var(--fw-medium);
}

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

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

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

.w-full {
	width: 100%;
}

.h-full {
	height: 100%;
}

.relative {
	position: relative;
}

.overflow-hidden {
	overflow: hidden;
}

.object-cover {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.aspect-video {
	aspect-ratio: 16/9;
}

.aspect-square {
	aspect-ratio: 1/1;
}

@media (max-width: 640px) {
	:root {
		--space-6: 1.25rem;
	}

	.container {
		padding-inline: var(--space-4);
	}

	.grid-2,
	.grid-3,
	.grid-4,
	.grid-5 {
		grid-template-columns: 1fr;
	}

	h1 {
		font-size: var(--text-4xl);
	}
}

@media (max-width: 768px) {

	.grid-3,
	.grid-4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.grid-5 {
		grid-template-columns: repeat(2, 1fr);
	}

	.section {
		padding-block: var(--space-12);
	}

	.cr-header {
		padding: 0 20px;
	}

	.footer__bottom {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		text-align: center;
	}

	.footer__copyright {
		width: 100%;
	}

	.footer__bottom-links {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px 16px;
	}
}

@media (max-width: 1024px) {

	.grid-4,
	.grid-5 {
		grid-template-columns: repeat(3, 1fr);
	}
}

.hidden-mobile {
	display: none;
}

@media (min-width: 768px) {
	.hidden-mobile {
		display: initial;
	}

	.hidden-desktop {
		display: none;
	}
}

.trial-subscription-note {
    margin-top: 24px;
    padding: 18px 20px;
    background: var(--c-white-a6);
    border-left: 3px solid var(--c-gold-c9a84c-a50);
    border-radius: 0 8px 8px 0;
    color: var(--c-white-a75);
    font-size: .88rem;
    line-height: 1.65;
}

.trial-subscription-note strong {
    color: var(--c-gold-c9a84c);
    display: block;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 6px;
}