:root {
--navy:        #0B1F41;
--navy-light:  #122852;
--navy-mid:    #1A3A6B;
--blue:        #1565C0;
--blue-bright: #1976D2;
--blue-light:  #E3F0FF;
--orange:      #E8580A;
--orange-hover:#C94A08;
--orange-light:#FFF3EC;
--white:       #FFFFFF;
--off-white:   #F7F9FC;
--gray-100:    #EEF2F7;
--gray-200:    #DDE4EE;
--gray-400:    #94A3B8;
--gray-600:    #64748B;
--gray-800:    #334155;
--gray-900:    #1E293B;
--font-display: 'Plus Jakarta Sans', sans-serif;
--font-body:    'DM Sans', sans-serif;
--section-pad:   90px;
--section-pad-sm: 60px;
--container:     1200px;
--container-sm:  860px;
--radius-sm:  6px;
--radius-md:  12px;
--radius-lg:  20px;
--shadow-sm:  0 1px 3px rgba(11,31,65,0.08);
--shadow-md:  0 4px 16px rgba(11,31,65,0.10);
--shadow-lg:  0 12px 40px rgba(11,31,65,0.14);
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--transition: 220ms var(--ease);
} *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); font-size: 1rem; line-height: 1.7; color: var(--gray-900); background: var(--white); -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--blue-bright); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; } h1,h2,h3,h4,h5,h6 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; color: var(--navy); letter-spacing: -0.02em; }
h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.15rem; }
p { margin-bottom: 1rem; } p:last-child { margin-bottom: 0; }
.text-large { font-size: 1.2rem; line-height: 1.7; }
.text-small { font-size: 0.875rem; }
.text-muted { color: var(--gray-600); }
.text-center { text-align: center; }
.text-white { color: var(--white); }
.eyebrow { display: inline-block; font-family: var(--font-display); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange); margin-bottom: 0.75rem; }
.eyebrow--blue { color: var(--blue); }
.eyebrow--white { color: rgba(255,255,255,0.65); } .container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.container--sm { max-width: var(--container-sm); }
.section { padding: var(--section-pad) 0; }
.section--sm { padding: var(--section-pad-sm) 0; }
.section--dark { background: var(--navy); color: var(--white); }
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4 { color: var(--white); }
.section--gray { background: var(--off-white); }
.section--navy-light { background: var(--navy-light); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; } .btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; font-family: var(--font-display); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.01em; border-radius: var(--radius-sm); transition: all var(--transition); white-space: nowrap; text-decoration: none; }
.btn--primary { background: var(--orange); color: var(--white); }
.btn--primary:hover { background: var(--orange-hover); color: var(--white); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(232,88,10,0.35); }
.btn--secondary { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.4); }
.btn--secondary:hover { background: rgba(255,255,255,0.1); color: var(--white); border-color: rgba(255,255,255,0.7); }
.btn--outline { background: transparent; color: var(--navy); border: 1.5px solid var(--gray-200); }
.btn--outline:hover { border-color: var(--blue); color: var(--blue); background: var(--blue-light); }
.btn--blue { background: var(--blue); color: var(--white); }
.btn--blue:hover { background: var(--blue-bright); color: var(--white); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(21,101,192,0.35); }
.btn--lg { padding: 17px 36px; font-size: 1rem; }
.btn--sm { padding: 10px 20px; font-size: 0.85rem; }
.btn-group { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } .card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 36px; transition: all var(--transition); }
.card:hover { box-shadow: var(--shadow-lg); border-color: var(--blue-light); transform: translateY(-3px); }
.card--dark { background: var(--navy-light); border-color: rgba(255,255,255,0.08); color: var(--white); }
.card--dark h3,.card--dark h4 { color: var(--white); }
.card--featured { border-color: var(--orange); border-width: 2px; } .badge { display: inline-flex; align-items: center; padding: 4px 12px; font-size: 0.75rem; font-weight: 600; border-radius: 100px; }
.badge--blue   { background: var(--blue-light); color: var(--blue); }
.badge--orange { background: var(--orange-light); color: var(--orange); }
.badge--green  { background: #EAFAF3; color: #0D7A4F; }
.badge--navy   { background: var(--navy); color: var(--white); } .section-header { margin-bottom: 56px; }
.section-header--center { text-align: center; max-width: 680px; margin-left: auto; margin-right: auto; margin-bottom: 56px; }
.section-header p { font-size: 1.125rem; color: var(--gray-600); margin-top: 16px; }
.section--dark .section-header p,.section--dark .text-muted { color: rgba(255,255,255,0.65); } .divider { width: 60px; height: 4px; background: var(--orange); border-radius: 2px; margin-bottom: 24px; }
.divider--center { margin-left: auto; margin-right: auto; }
.divider--blue { background: var(--blue); } .check-list { display: flex; flex-direction: column; gap: 12px; }
.check-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 0.9375rem; color: var(--gray-800); }
.check-list li::before { content: ''; flex-shrink: 0; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%231565C0'/%3E%3Cpath d='M6 10l3 3 5-6' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; margin-top: 2px; }
.check-list--white li { color: rgba(255,255,255,0.9); }
.check-list--white li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='rgba(255,255,255,0.2)'/%3E%3Cpath d='M6 10l3 3 5-6' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); } .form-group { margin-bottom: 20px; }
.form-label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--gray-800); margin-bottom: 6px; }
.form-input,.form-select,.form-textarea { width: 100%; padding: 12px 16px; font-family: var(--font-body); font-size: 1rem; color: var(--gray-900); background: var(--white); border: 1.5px solid var(--gray-200); border-radius: var(--radius-sm); transition: border-color var(--transition); outline: none; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-light); }
.form-textarea { resize: vertical; min-height: 120px; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.mt-8{margin-top:8px} .mt-16{margin-top:16px} .mt-24{margin-top:24px} .mt-32{margin-top:32px} .mt-48{margin-top:48px}
.mb-8{margin-bottom:8px} .mb-16{margin-bottom:16px} .mb-24{margin-bottom:24px} .mb-32{margin-bottom:32px} @media(max-width:1024px){:root{--section-pad:70px} .grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){:root{--section-pad:56px;--section-pad-sm:40px} .grid-2,.grid-3{grid-template-columns:1fr;gap:28px} .grid-4{grid-template-columns:1fr;gap:20px} .btn--lg{padding:15px 26px} .card{padding:24px} .section-header{margin-bottom:36px}}
@media(max-width:480px){.container{padding:0 16px} .btn-group{flex-direction:column;align-items:flex-start}}