.elementor-kit-6{--e-global-color-primary:#2F7BF2;--e-global-color-secondary:#06548A;--e-global-color-text:#44546F;--e-global-color-accent:#9CC4FF;--e-global-color-oc0dark:#050A18;--e-global-color-oc0head:#0B1B33;--e-global-color-oc0ltbg:#F4F7FC;--e-global-color-oc0bord:#DCE5F2;--e-global-color-65f7afb:#06548A;--e-global-color-95eb82c:#06548A;--e-global-color-7e9da31:#000000;--e-global-color-5112949:#06548A;--e-global-color-2820802:#06548A;--e-global-color-f75012c:#06548A;--e-global-color-7cb60c8:#06548A;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:600;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:transparent;font-family:"Outfit", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;background-image:linear-gradient(135deg, #7FB6FF 0%, #0B3F9E 100%);box-shadow:0px 8px 28px 0px rgba(47,123,242,0.45);border-radius:999px 999px 999px 999px;padding:14px 28px 14px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:transparent;color:#FFFFFF;background-image:linear-gradient(135deg, #9CC8FF 0%, #1A52B8 100%);border-radius:999px 999px 999px 999px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Oak Capital design system: site-wide effects Elementor can't do natively.
   Colors and fonts are Global Colors / Global Fonts in Site Settings. */

/* Global button: gradient pill. Add class "oc-btn-ghost" to a Button widget to opt out. */
.elementor-widget-button:not(.oc-btn-ghost) .elementor-button {
  background-image: linear-gradient(135deg, #7FB6FF 0%, #2F7BF2 45%, #0B3F9E 100%);
  box-shadow: 0 8px 28px rgba(47,123,242,.45), inset 0 1px 0 rgba(255,255,255,.35);
  text-shadow: 0 1px 2px rgba(11,40,110,.35);
  transition: box-shadow .2s, transform .2s;
}
.elementor-widget-button:not(.oc-btn-ghost) .elementor-button:hover,
.elementor-widget-button:not(.oc-btn-ghost) .elementor-button:focus-visible {
  background-image: linear-gradient(135deg, #9CC8FF 0%, #4A8DF5 45%, #1A52B8 100%);
  box-shadow: 0 10px 34px rgba(47,123,242,.55), inset 0 1px 0 rgba(255,255,255,.45);
  transform: translateY(-1px);
}
.elementor-button:focus-visible, .oc-site-header a:focus-visible, .oc-site-header button:focus-visible,
.oc-offcanvas a:focus-visible, .oc-offcanvas button:focus-visible, .oc-footer a:focus-visible {
  outline: 2px solid #9CC4FF; outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) { .elementor-button, .oc-site-header, .oc-site-header * { transition: none !important; } }

/* Shared */
.oc-glass { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.oc-logo-glow img { filter: drop-shadow(0 0 18px rgba(47,123,242,.85)) drop-shadow(0 0 60px rgba(47,123,242,.45)); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Header: sticky, shrinks after scrolling */
.oc-site-header { transition: padding .25s ease, background-color .25s ease; }
.oc-site-header.elementor-sticky--effects {
  --padding-top: 6px !important; --padding-bottom: 6px !important;
  background-color: rgba(5,10,24,.78) !important;
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.oc-site-header .oc-logo-glow img { transition: width .25s ease; }
.oc-site-header.elementor-sticky--effects .oc-logo-glow img { width: 40px; }
.oc-site-header .oc-header-bar { transition: padding .25s ease; }
.oc-head-phone a { color: #E8EEFA; text-decoration: none; }
.oc-head-phone a:hover { color: #9CC4FF; }

/* Mega menu panels */
.oc-megamenu .e-n-menu-content > .e-con { box-shadow: 0 24px 60px rgba(0,0,0,.45); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.oc-menu-links a { color: #E8EEFA; }
.oc-menu-links a:hover, .oc-menu-links a:focus-visible { color: #9CC4FF; }
.oc-prog-link .elementor-heading-title a { color: #FFFFFF; }
.oc-prog-link .elementor-heading-title a:hover, .oc-prog-link .elementor-heading-title a:focus-visible { color: #9CC4FF; }

/* Mobile slide-in menu */
.oc-offcanvas .e-off-canvas__content { max-width: 400px; }
.oc-offcanvas .e-off-canvas__content > .e-con { min-height: 100%; }
.oc-offcanvas-cta { margin-top: auto !important; }
.elementor-kit-6 .oc-btn-ghost .elementor-button, .elementor-kit-6 .oc-btn-ghost .elementor-button:hover, .elementor-kit-6 .oc-btn-ghost .elementor-button:focus { background-image: none !important; box-shadow: none !important; text-shadow: none !important; transform: none !important; }

/* Footer */
.oc-footer a { color: #C3D1EA; }
.oc-footer a:hover { color: #FFFFFF; }
.oc-footer .elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }
.oc-eho img { filter: brightness(0) invert(1); opacity: .9; }

/* Info tables (Licensing page) */
.oc-table table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #DCE5F2; border-radius: 20px; overflow: hidden; }
.oc-table th, .oc-table td { text-align: left; padding: 14px 18px; border-bottom: 1px solid #DCE5F2; vertical-align: top; }
.oc-table th { background: #F4F7FC; color: #0B1B33; font-family: "Outfit", sans-serif; font-weight: 600; }
.oc-table tr:last-child td { border-bottom: 0; }
@media (max-width: 767px) { .oc-table { overflow-x: auto; } .oc-table table { min-width: 560px; } }

/* The global button style also targets plain <button> tags; keep menu controls unstyled. */
.elementor-kit-6 .e-n-menu-dropdown-icon, .elementor-kit-6 .e-n-menu-toggle {
  background: none !important; background-image: none !important; box-shadow: none !important; text-shadow: none !important;
  border: 0 !important; border-radius: 0 !important; padding: 0 !important; transform: none !important;
}
.elementor-kit-6 .e-n-menu-dropdown-icon:focus-visible { outline: 2px solid #9CC4FF; outline-offset: 2px; }

/* Keep the slide-in menu's top row clear of the WordPress admin bar (logged-in admins only). */
.admin-bar .oc-offcanvas-inner { --padding-top: 64px !important; }
@media (min-width: 783px) { .admin-bar .oc-offcanvas-inner { --padding-top: 50px !important; } }

/* Inline links on light backgrounds */
.oc-link a, .oc-table a { color: #06548A; text-decoration: underline; text-underline-offset: 3px; }

/* ===== Shared section styles (moved from Home - New so templates can reuse them) ===== */
/* Dark sections: glow, starfield, rings */
.oc-hero, .oc-cta { position: relative; overflow: hidden; isolation: isolate; }
.oc-hero { background-image: radial-gradient(ellipse 60% 55% at 50% 72%, rgba(30,96,230,.55), rgba(10,30,90,.25) 45%, transparent 75%); }
.oc-cta  { background-image: radial-gradient(ellipse 70% 75% at 50% 112%, rgba(30,96,230,.55), rgba(10,30,90,.25) 45%, transparent 75%); }
.oc-hero::before, .oc-cta::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(1.2px 1.2px at 7% 12%, rgba(255,255,255,.55) 50%, transparent 100%),
    radial-gradient(1px 1px at 18% 34%, rgba(255,255,255,.35) 50%, transparent 100%),
    radial-gradient(1.2px 1.2px at 27% 8%, rgba(255,255,255,.45) 50%, transparent 100%),
    radial-gradient(1px 1px at 36% 22%, rgba(255,255,255,.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 44% 5%, rgba(255,255,255,.4) 50%, transparent 100%),
    radial-gradient(1.2px 1.2px at 58% 16%, rgba(255,255,255,.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 66% 30%, rgba(255,255,255,.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 74% 9%, rgba(255,255,255,.45) 50%, transparent 100%),
    radial-gradient(1.2px 1.2px at 85% 24%, rgba(255,255,255,.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 93% 13%, rgba(255,255,255,.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 12% 58%, rgba(255,255,255,.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 90% 52%, rgba(255,255,255,.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 5% 80%, rgba(255,255,255,.25) 50%, transparent 100%),
    radial-gradient(1px 1px at 96% 78%, rgba(255,255,255,.25) 50%, transparent 100%);
}
.oc-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(circle at 50% 118%, transparent 0 559px, rgba(140,180,255,.12) 560px 561px, transparent 562px),
    radial-gradient(circle at 50% 118%, transparent 0 819px, rgba(140,180,255,.12) 820px 821px, transparent 822px);
}
.oc-accent { color: #9CC4FF; }

.oc-bubble { pointer-events: none; }
.oc-bubble .elementor-icon {
  background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14) !important;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 0 28px rgba(47,123,242,.25);
}
.oc-bubble .elementor-icon {
  background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14) !important;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 0 28px rgba(47,123,242,.25);
}
.oc-call { color: #E8EEFA; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(156,196,255,.6); }
.oc-call:hover { color: #9CC4FF; }
.oc-link a { color: #06548A; text-decoration: underline; text-underline-offset: 3px; }
.oc-stars { color: #FFC94D; letter-spacing: 1px; margin-right: 4px; }
/* Accordions as white rounded cards */
.oc-accordion .elementor-accordion-item { background: #fff; border: 1px solid #DCE5F2 !important; border-radius: 28px; overflow: hidden; margin-bottom: 12px; }
.oc-accordion .elementor-accordion-item:last-child { margin-bottom: 0; }
.oc-accordion .elementor-tab-title, .oc-accordion .elementor-tab-content { border: 0 !important; }
.oc-accordion .elementor-accordion-title { color: inherit; }
.oc-num { display: inline-block; min-width: 2.4em; color: #1E60E6; }
.oc-fit { margin-top: 10px; color: #0B1B33; }

/* Team cards */
.oc-team-card { overflow: hidden; transition: box-shadow .2s; }
.oc-team-card:hover { box-shadow: 0 14px 32px rgba(11,27,51,.08); }
.oc-headshot img { display: block; width: 100%; object-fit: cover; object-position: 50% 15%; }
.oc-team-card .elementor-heading-title a { color: inherit; }

/* Trustindex reviews styled to match */
.oc-reviews .ti-widget .ti-review-item > .ti-inner { background: #fff !important; border: 1px solid #DCE5F2 !important; border-radius: 28px !important; }

/* Small-screen refinements */
.oc-accordion .elementor-accordion-title { display: inline-flex; align-items: baseline; }
.oc-num { flex-shrink: 0; }
@media (max-width: 767px) {
  .oc-rating .elementor-icon-list-item::after { display: none !important; }
  .oc-rating .elementor-icon-list-items { justify-content: center; row-gap: 6px; column-gap: 18px; }
  .oc-rating .elementor-icon-list-item { margin: 0 !important; }
}

/* Headshots: 4:5 portrait frame, head and shoulders, anchored toward the top */
.oc-headshot img { aspect-ratio: 4 / 5; width: 100%; height: auto !important; object-fit: cover; object-position: 50% 15%; }

/* Trustindex review cards: white, 28px radius, site fonts */
body .ti-widget.ti-goog .ti-review-item > .ti-inner { background: #FFFFFF !important; border: 1px solid #DCE5F2 !important; border-radius: 28px !important; padding: 26px !important; box-shadow: none !important; }
body .ti-widget.ti-goog .ti-name { font-family: "Outfit", sans-serif !important; font-weight: 600 !important; font-size: 16px !important; color: #0B1B33 !important; }
body .ti-widget.ti-goog .ti-date { font-family: "Manrope", sans-serif !important; color: #44546F !important; }
body .ti-widget.ti-goog .ti-review-content, body .ti-widget.ti-goog .ti-review-text-container, body .ti-widget.ti-goog .ti-read-more { font-family: "Manrope", sans-serif !important; font-size: 15px !important; line-height: 1.6 !important; color: #44546F !important; }
body .ti-widget.ti-goog .ti-read-more span, body .ti-widget.ti-goog .ti-read-more a { color: #06548A !important; }
body .ti-widget.ti-goog { font-family: "Manrope", sans-serif; }
body .ti-widget.ti-goog.ti-disable-font .ti-widget-container .ti-name { font-family: "Outfit", sans-serif !important; }
/* Review "Read more" link: brand blue for 4.5:1 contrast on white */
body .ti-widget.ti-goog.ti-disable-font .ti-widget-container .ti-read-more, body .ti-widget.ti-goog.ti-disable-font .ti-widget-container .ti-read-more * { color: #06548A !important; text-decoration: underline; text-underline-offset: 3px; }

/* Inline links in body text: visibly links (brand blue, underlined). Dark sections and navigation keep their own colors. */
.elementor-widget-text-editor a { color: #06548A; text-decoration: underline; text-underline-offset: 3px; }
.oc-dark .elementor-widget-text-editor a, .oc-site-header .elementor-widget-text-editor a, .oc-offcanvas .elementor-widget-text-editor a { color: inherit; }
.elementor-widget-text-editor.oc-head-phone a, .elementor-widget-text-editor.oc-menu-links a { text-decoration: none; }

/* Long-form legal/info copy */
.oc-prose h2 { font-family: "Outfit", sans-serif; font-weight: 600; color: #0B1B33; font-size: 24px; line-height: 1.25; margin: 30px 0 10px; }
.oc-prose ul { padding-left: 1.2em; margin: 0 0 1em; }
.oc-prose li { margin-bottom: 6px; }

/* Payment calculator */
.oc-calc { background: #F4F7FC; border: 1px solid #DCE5F2; border-radius: 22px; padding: 24px; }
.oc-calc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.oc-calc label { display: flex; flex-direction: column; gap: 6px; font-family: "Manrope", sans-serif; font-weight: 600; font-size: 14px; color: #0B1B33; }
.oc-calc input { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #DCE5F2; border-radius: 12px; background: #fff; font-family: "Manrope", sans-serif; font-size: 16px; color: #0B1B33; }
.oc-calc input:focus-visible { outline: 2px solid #2F7BF2; outline-offset: 1px; }
.oc-calc-result { margin-top: 18px; background: #fff; border: 1px solid #DCE5F2; border-radius: 16px; padding: 18px; }
.oc-calc-label { font-family: "Manrope", sans-serif; font-size: 14px; color: #44546F; }
.oc-calc-total { font-family: "Outfit", sans-serif; font-weight: 600; font-size: 36px; color: #06548A; }
.oc-calc-breakdown { font-family: "Manrope", sans-serif; font-size: 14px; color: #44546F; }/* End custom CSS */