.elementor-9273 .elementor-element.elementor-element-b5b9f8d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Outfit;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-9273 .elementor-element.elementor-element-4c3bef3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9273 .elementor-element.elementor-element-82c64df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9273 .elementor-element.elementor-element-2428a06{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9273 .elementor-element.elementor-element-35cee40{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for text-editor, class: .elementor-element-7f8fa6f */body {
    margin: 0;
    font-family: 'Jost', sans-serif;
    color: #56676D;
    background-color: #f9f9f9;
}

h1, h2, h3 {
    font-family: 'Outfit', sans-serif;
    color: #003A5D;
}

h1 {
    font-size: 45px;
    margin-bottom: 10px;
}

h2, h3 {
    font-size: 28px;
    margin-top: 20px;
    margin-bottom: 10px;
}

a {
    color: #005EB5;
    text-decoration: none;
    font-weight: 500;
}

a:hover {
    text-decoration: underline;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
}

.page-header {
    background-color: #E6F0FA;
    padding: 40px 0;
    text-align: center;
}

.intro-text {
    font-size: 19px;
    color: #005EB5;
    line-height: 1.6;
}

.content-section {
    padding: 40px 0;
}

.card {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

ul {
    padding-left: 20px;
}

@media (max-width: 768px) {
    h1 {
        font-size: 32px;
    }
    h2, h3 {
        font-size: 22px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ecf3162 */<!-- File: open-san-jose.css -->
:root{
  --blue-900:#003A5D; /* Headings */
  --blue-700:#005EB5; /* Subheads/links */
  --blue-50:#E6F0FA;  /* Light bg */
  --text-600:#56676D; /* Body */
  --brand-yellow:#FFC107; /* Accents (30%) */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Jost',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text-600);
  background:#f9fbfd;
}

h1,h2,h3{font-family:'Outfit',sans-serif;color:var(--blue-900);background:transparent}
h1{font-size:45px;line-height:1.15;margin:0 0 6px}
.subhead{font-size:19px;color:var(--blue-700);margin:0}
h2{font-size:32px;margin:0 0 10px}
h3{font-size:24px;margin:18px 0 8px}

.container{width:92%;max-width:1180px;margin-inline:auto}
.section{padding:40px 0}
.section.alt{background:linear-gradient(0deg,#fff, #fff 55%, rgba(255,193,7,.08))}

.hero{background:linear-gradient(180deg, var(--blue-50), #ffffff);padding:48px 0;border-bottom:4px solid var(--brand-yellow)}

.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative}
.card::after{content:"";position:absolute;inset:auto 16px -8px 16px;height:6px;border-radius:999px;background:linear-gradient(90deg, var(--brand-yellow), transparent)}

a{color:var(--blue-700);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}

/* Buttons */
.btn{display:inline-block;padding:12px 18px;border-radius:14px;border:2px solid var(--brand-yellow);font-weight:700}
.btn-primary{background:var(--brand-yellow);color:#1a1a1a}
.btn-outline{background:#fff;color:var(--blue-900)}
.btn + .btn{margin-left:12px}

/* Lists */
ul{margin:10px 0 0 1rem}
.bullets li{margin:6px 0}
.checklist{list-style:none;padding-left:0}
.checklist li{position:relative;padding-left:28px;margin:10px 0}
.checklist li::before{content:"✔";position:absolute;left:0;top:0}

/* Table: responsive, scrollable on mobile */
.table-wrap{overflow:auto;border:1px solid #e6ecf2;border-radius:12px}
.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:640px}
.data-table thead th{background:var(--blue-50);text-align:left;padding:14px;font-family:'Outfit',sans-serif;color:var(--blue-900);border-bottom:2px solid var(--brand-yellow)}
.data-table tbody td{padding:14px;border-bottom:1px solid #eef2f6}
.data-table tbody tr:last-child td{border-bottom:none}

.note{background:rgba(255,193,7,.12);padding:12px 14px;border-left:4px solid var(--brand-yellow);border-radius:10px;margin-top:12px}
.footnote{font-size:.95rem;color:#6b7a80;margin-top:10px}

/* Footer */
.site-footer{border-top:4px solid var(--brand-yellow);padding:28px 0;margin-top:30px;background:#fff}
.footer-grid{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{font-family:'Outfit',sans-serif;color:var(--blue-900)}
.footer-nav a{margin-right:12px}

/* Responsive */
@media (max-width: 768px){
  h1{font-size:34px}
  h2{font-size:26px}
  h3{font-size:20px}
  .btn{width:100%;text-align:center}
  .btn + .btn{margin:10px 0 0}
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-23e63b3 *//* Nova Brand System — 70% Blue / 30% Yellow */
/* Fonts: Outfit (headings), Jost (body) */

:root{
  --blue-900:#003A5D;   /* Headings */
  --blue-700:#005EB5;   /* Subheads & links */
  --blue-50:#E6F0FA;    /* Light tints */
  --text-600:#56676D;   /* Body text */
  --brand-yellow:#FFC107; /* Accents (30%) */
  --radius-xl:20px;
  --radius-lg:16px;
  --shadow-lg:0 10px 30px rgba(0,0,0,.08);
  --shadow-sm:0 6px 16px rgba(0,0,0,.06);
}

/* Base */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body {
  font-family:'Jost', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text-600);
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 60%, rgba(255,193,7,.06) 100%);
}

/* Typography */
h1, h2, h3 {
  font-family:'Outfit', sans-serif;
  color:var(--blue-900);
  background:transparent;
  margin:0 0 10px;
}
h1 { font-size:45px; line-height:1.12; }
h2 { font-size:32px; line-height:1.2; }
h3 { font-size:24px; line-height:1.25; }

.subhead {
  font-size:19px;
  color:var(--blue-700);
  margin:4px 0 0;
}

/* Layout */
.container { width:92%; max-width:1200px; margin-inline:auto; }
.page { padding:28px 0 48px; }

.card {
  background:#fff;
  border-radius:var(--radius-xl);
  padding:26px;
  box-shadow:var(--shadow-lg);
  position:relative;
  margin:18px 0;
  overflow:hidden;
}

/* Decorative accent (yellow) without affecting text */
.card.hero::after,
.card::after {
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-10px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--brand-yellow), rgba(255,193,7,0));
  filter:blur(0.5px);
}

/* Grid for route cards */
.grid-3 {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
.route { padding-bottom:22px; }
.mini-cta a { font-weight:700; }
.mini-cta .sep { margin:0 8px; color:#9aa7ad; }

/* Links & Buttons */
a { color:var(--blue-700); text-decoration:none; font-weight:600; }
a:hover { text-decoration:underline; }

.btn {
  display:inline-block;
  padding:12px 18px;
  border-radius:16px;
  border:2px solid var(--brand-yellow);
  font-weight:800;
  box-shadow:var(--shadow-sm);
}
.btn-primary { background:var(--brand-yellow); color:#1a1a1a; }
.btn-outline { background:#fff; color:var(--blue-900); }
.cta-row { margin-top:14px; display:flex; gap:12px; flex-wrap:wrap; }

/* Lists */
ul { margin:10px 0 0 1rem; }
.bullets li { margin:6px 0; }
.bullets.compact li { margin:4px 0; }
.checklist { list-style:none; padding:0; margin-top:8px; }
.checklist li {
  position:relative;
  padding-left:28px;
  margin:10px 0;
}
.checklist li::before {
  content:"✔";
  position:absolute;
  left:0; top:0;
}

/* Tables (responsive & scrollable on mobile) */
.table-wrap {
  overflow:auto;
  border:1px solid #e6ecf2;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.data-table {
  width:100%;
  min-width:680px;
  border-collapse:separate;
  border-spacing:0;
}
.data-table thead th {
  text-align:left;
  background:var(--blue-50);
  padding:14px 16px;
  font-family:'Outfit', sans-serif;
  color:var(--blue-900);
  border-bottom:2px solid var(--brand-yellow);
}
.data-table tbody td {
  padding:14px 16px;
  border-bottom:1px solid #eef2f6;
}
.data-table tbody tr:last-child td { border-bottom:none; }

.footnote { font-size:.95rem; color:#6b7a80; margin-top:10px; }

/* Hero styling */
.hero {
  border-left:6px solid var(--brand-yellow);
  background: linear-gradient(180deg, var(--blue-50), #ffffff);
}

/* Responsive */
@media (max-width: 1024px) {
  .grid-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  h1 { font-size:34px; }
  h2 { font-size:26px; }
  h3 { font-size:20px; }
  .grid-3 { grid-template-columns: 1fr; }
  .btn { width:100%; text-align:center; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-13741f8 *//* Nova Brand System — 70% Blue / 30% Yellow */
:root{
  --blue-900:#003A5D;   /* Headings */
  --blue-700:#005EB5;   /* Subheads & links */
  --blue-50:#E6F0FA;    /* Light tint */
  --text-600:#56676D;   /* Body */
  --brand-yellow:#FFC107; /* Accents */
  --radius-xl:20px;
  --radius-lg:16px;
  --shadow-lg:0 12px 36px rgba(0,0,0,.08);
  --shadow-sm:0 6px 16px rgba(0,0,0,.06);
}

/* Base */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Jost',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text-600);
  background:linear-gradient(180deg,#fff 0%,#fff 65%,rgba(255,193,7,.06) 100%);
}

/* Typography */
h1,h2,h3{
  font-family:'Outfit',sans-serif;
  color:var(--blue-900);
  background:transparent;
  margin:0 0 10px;
}
h1{font-size:45px;line-height:1.12}
h2{font-size:32px;line-height:1.22}
h3{font-size:24px;line-height:1.25}

.subhead{font-size:19px;color:var(--blue-700);margin:4px 0 0}

/* Layout */
.container{width:92%;max-width:1200px;margin-inline:auto}
.page{padding:28px 0 48px}

.card{
  background:#fff;
  border-radius:var(--radius-xl);
  padding:26px;
  box-shadow:var(--shadow-lg);
  position:relative;
  margin:18px 0;
  overflow:hidden;
}

/* Yellow accent bar for visual polish */
.card::after{
  content:"";
  position:absolute;left:18px;right:18px;bottom:-10px;height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-yellow),rgba(255,193,7,0));
}
.card.hero{
  border-left:6px solid var(--brand-yellow);
  background:linear-gradient(180deg,var(--blue-50),#ffffff);
}

/* Links & Buttons */
a{color:var(--blue-700);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}

.btn{
  display:inline-block;
  padding:12px 18px;
  border-radius:16px;
  border:2px solid var(--brand-yellow);
  font-weight:800;
  box-shadow:var(--shadow-sm);
}
.btn-primary{background:var(--brand-yellow);color:#1a1a1a}
.btn-outline{background:#fff;color:var(--blue-900)}
.cta-row{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}

/* Lists */
ul{margin:10px 0 0 1rem}
.checklist{list-style:none;padding:0;margin-top:8px}
.checklist li{position:relative;padding-left:28px;margin:10px 0}
.checklist li::before{content:"✔";position:absolute;left:0;top:0}
.two-col{columns:2;column-gap:24px}
.two-col li{break-inside:avoid}

.pill-grid{
  list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;gap:10px
}
.pill-grid li{
  border:1px solid #e6ecf2;
  padding:10px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow-sm)
}

.mini-cta a{font-weight:700}
.mini-cta .sep{margin:0 8px;color:#9aa7ad}

/* FAQ spacing */
.faq h3{margin-top:16px}

/* Accent card variant */
.accent{background:linear-gradient(180deg,#fff,rgba(255,193,7,.09))}
.adr{margin:12px 0 6px}

/* Responsive */
@media (max-width:1024px){
  .two-col{columns:1}
}
@media (max-width:768px){
  h1{font-size:34px}
  h2{font-size:26px}
  h3{font-size:20px}
  .btn{width:100%;text-align:center}
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-96f24b1 *//* Base styles */
body {
  font-family: 'Outfit', sans-serif;
  margin: 0;
  color: #333;
  line-height: 1.6;
  background-color: #fff;
}

h1, h2, h3 {
  font-family: 'Jost', sans-serif;
  color: #003A5D;
}

h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

h2 {
  font-size: 1.75rem;
  margin-top: 2rem;
}

h3 {
  font-size: 1.25rem;
  margin-top: 1.5rem;
}

p, li {
  font-size: 1rem;
}

ul {
  list-style: none;
  padding: 0;
}

ul li {
  padding-left: 1.5rem;
  position: relative;
}

ul li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #FFC107;
}

/* Layout */
.container {
  max-width: 1100px;
  margin: auto;
  padding: 1rem 2rem;
}

.hero {
  background-color: #003A5D;
  color: #fff;
  padding: 2rem 0;
  text-align: center;
}

.hero p {
  font-size: 1.2rem;
}

.features article {
  margin-bottom: 2rem;
}

.faq-item {
  background: #f9f9f9;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.cta {
  text-align: center;
  padding: 2rem;
  background: #FFC107;
  color: #003A5D;
  border-radius: 8px;
  margin: 2rem 0;
}

.cta a {
  color: #003A5D;
  text-decoration: underline;
}

.footer {
  background: #003A5D;
  color: #fff;
  padding: 1rem;
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  h1 {
    font-size: 2rem;
  }
  .container {
    padding: 1rem;
  }
}/* End custom CSS */