.elementor-kit-4{--e-global-color-primary:#0E1430;--e-global-color-secondary:#0B1033;--e-global-color-text:#4A5372;--e-global-color-accent:#2B3486;--e-global-color-ocbg:#F5F8FC;--e-global-color-ocsurface:#FFFFFF;--e-global-color-ocmist:#E4EBF6;--e-global-color-ocline:#D5DDEB;--e-global-color-ocspark:#9ED8F5;--e-global-color-ocstar:#F5B301;--e-global-color-ocaccenthover:#1F276B;--e-global-typography-primary-font-family:"Saira";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Saira";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:600;background-color:#F5F8FC;color:#4A5372;font-family:"Figtree", Sans-serif;font-size:17px;font-weight:400;line-height:1.65em;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:#2B3486;font-family:"Figtree", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:16px 28px 16px 28px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:#1F276B;color:#FFFFFF;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#2B3486;}.elementor-kit-4 a:hover{color:#1F276B;}.elementor-kit-4 h1{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-kit-4 h2{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-kit-4 h3{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-kit-4 h4{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-kit-4 h5{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-kit-4 h6{color:#0E1430;font-family:"Saira", Sans-serif;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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-kit-4{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Omni Clean: Clear Water design system. Tokens live in Site Settings > Global Colors / Fonts. */
:root {
  --oc-ink: var(--e-global-color-primary, #0E1430);
  --oc-deep: var(--e-global-color-secondary, #0B1033);
  --oc-muted: var(--e-global-color-text, #4A5372);
  --oc-accent: var(--e-global-color-accent, #2B3486);
  --oc-accent-hover: var(--e-global-color-ocaccenthover, #1F276B);
  --oc-bg: var(--e-global-color-ocbg, #F5F8FC);
  --oc-surface: var(--e-global-color-ocsurface, #FFFFFF);
  --oc-mist: var(--e-global-color-ocmist, #E4EBF6);
  --oc-line: var(--e-global-color-ocline, #D5DDEB);
  --oc-spark: var(--e-global-color-ocspark, #9ED8F5);
  --oc-star: var(--e-global-color-ocstar, #F5B301);
  --oc-head: "Saira", sans-serif;
  --oc-body: "Figtree", sans-serif;
  --oc-shadow: 0 18px 40px -18px rgba(14, 20, 48, .28);
  --oc-gutter: max(24px, calc((100vw - 1240px) / 2));
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--oc-accent); color: #fff; }
a { transition: color .2s ease; }
:focus-visible { outline: 3px solid var(--oc-spark); outline-offset: 3px; border-radius: 6px; }

/* Type ---------------------------------------------------------------- */
.elementor-heading-title { font-family: var(--oc-head); font-weight: 700; color: var(--oc-ink); letter-spacing: -0.015em; line-height: 1.1; }
.oc-display .elementor-heading-title { font-size: clamp(2.35rem, 4.6vw, 4.1rem); line-height: 1.04; letter-spacing: -0.03em; }
.oc-h2 .elementor-heading-title { font-size: clamp(1.9rem, 3.3vw, 3rem); line-height: 1.08; letter-spacing: -0.025em; }
.oc-h3 .elementor-heading-title { font-size: clamp(1.25rem, 1.7vw, 1.5rem); line-height: 1.15; }
.oc-h4 .elementor-heading-title { font-size: 1.125rem; line-height: 1.2; }
.elementor-heading-title em, .elementor-heading-title i { font-style: italic; color: var(--oc-accent); padding-right: .06em; }
.oc-eyebrow .elementor-heading-title { font-family: var(--oc-body); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: var(--oc-accent); line-height: 1.4; }
.oc-lead, .oc-lead p { font-size: clamp(1.075rem, 1.3vw, 1.225rem); line-height: 1.6; color: var(--oc-muted); max-width: 58ch; }
.oc-prose p { max-width: 66ch; }
.oc-prose p + p { margin-top: 1em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.oc-small, .oc-small p { font-size: 14px; color: var(--oc-muted); }
.oc-center, .oc-center p { text-align: center; margin-inline: auto; }

/* Bands --------------------------------------------------------------- */
.oc-sec { position: relative; }
.oc-deep { color: rgba(255,255,255,.78); }
.oc-deep .elementor-heading-title { color: #fff; }
.oc-deep .elementor-heading-title em, .oc-deep .elementor-heading-title i { color: var(--oc-spark); }
.oc-deep .oc-eyebrow .elementor-heading-title { color: var(--oc-spark); }
.oc-deep .oc-lead, .oc-deep .oc-lead p, .oc-deep .oc-small, .oc-deep .oc-small p { color: rgba(255,255,255,.74); }
.oc-deep a:not(.elementor-button) { color: #fff; }
.oc-deep-glow { background-image: radial-gradient(60% 80% at 85% 0%, rgba(43,52,134,.55) 0%, rgba(11,16,51,0) 70%), radial-gradient(40% 60% at 0% 100%, rgba(158,216,245,.10) 0%, rgba(11,16,51,0) 70%); }

/* Buttons ------------------------------------------------------------- */
.elementor-button { font-family: var(--oc-body); font-weight: 600; letter-spacing: .005em; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.elementor-button:active { transform: translateY(1px); }
.oc-btn-ghost .elementor-button { background: transparent !important; color: var(--oc-accent) !important; box-shadow: inset 0 0 0 1.5px var(--oc-accent); }
.oc-btn-ghost .elementor-button:hover { background: var(--oc-accent) !important; color: #fff !important; }
.oc-btn-light .elementor-button { background: #fff !important; color: var(--oc-ink) !important; }
.oc-btn-light .elementor-button:hover { background: var(--oc-spark) !important; }
.oc-btn-ghost-light .elementor-button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.oc-btn-ghost-light .elementor-button:hover { box-shadow: inset 0 0 0 1.5px #fff; background: rgba(255,255,255,.08) !important; }
.oc-btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
.oc-link .elementor-button { background: none !important; padding: 0 !important; color: var(--oc-accent) !important; border-radius: 0 !important; }
.oc-link .elementor-button .elementor-button-text { border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.oc-link .elementor-button:hover { color: var(--oc-accent-hover) !important; }

/* Hero ---------------------------------------------------------------- */
.oc-hero { overflow: hidden; }
.oc-hero-copy { padding-left: var(--oc-gutter) !important; }
.oc-hero-media { align-self: stretch; }
.oc-hero-media .elementor-widget-image, .oc-hero-media .elementor-widget-image > div, .oc-hero-media img { height: 100%; }
.oc-hero-media img { width: 100%; object-fit: cover; border-radius: 28px 0 0 28px; min-height: 560px; max-height: 720px; }
.oc-hero-float { position: absolute !important; left: -64px; bottom: 48px; width: 230px !important; z-index: 2; }
.oc-hero-float img { border-radius: 18px; border: 6px solid var(--oc-bg); box-shadow: var(--oc-shadow); aspect-ratio: 4/3; object-fit: cover; }
.oc-hero-media-wrap { position: relative; }
@media (max-width: 1024px) {
  .oc-hero-copy { padding-left: 24px !important; padding-right: 24px !important; }
  .oc-hero-media img { border-radius: 24px; min-height: 0; max-height: 520px; }
  .oc-hero-media-wrap { padding: 0 24px !important; }
  .oc-hero-float { display: none; }
}
@media (max-width: 767px) {
  .oc-hero-copy { padding-left: 16px !important; padding-right: 16px !important; }
  .oc-hero-media-wrap { padding: 0 16px !important; }
  .oc-hero-media img { max-height: 380px; aspect-ratio: 4/3; }
}
.oc-rating { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--oc-muted); flex-wrap: wrap; }
.oc-rating strong { color: var(--oc-ink); font-weight: 700; }
.oc-stars { color: var(--oc-star); letter-spacing: 2px; font-size: 16px; }
.oc-deep .oc-rating, .oc-deep .oc-rating strong { color: #fff; }

/* Page hero (inner pages) */
.oc-phero-img img { width: 100%; aspect-ratio: 5/4; object-fit: cover; border-radius: 24px; box-shadow: var(--oc-shadow); }
.oc-phero-img-tall img { aspect-ratio: 4/5; }
.oc-crumbs { font-size: 14px; color: var(--oc-muted); }
.oc-crumbs a { color: var(--oc-muted); text-decoration: none; }
.oc-crumbs a:hover { color: var(--oc-accent); }
.oc-deep .oc-crumbs, .oc-deep .oc-crumbs a { color: rgba(255,255,255,.65); }

/* Trust strip ---------------------------------------------------------- */
.oc-trust { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--oc-line); border-bottom: 1px solid var(--oc-line); }
.oc-trust-item { padding: 22px 20px; display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.4; color: var(--oc-muted); }
.oc-trust-item + .oc-trust-item { border-left: 1px solid var(--oc-line); }
.oc-trust-item strong { display: block; color: var(--oc-ink); font-family: var(--oc-head); font-size: 17px; font-weight: 700; margin-bottom: 2px; }
.oc-trust-item svg { flex: 0 0 22px; width: 22px; height: 22px; fill: var(--oc-accent); margin-top: 2px; }
@media (max-width: 1024px) { .oc-trust { grid-template-columns: repeat(2, 1fr); } .oc-trust-item + .oc-trust-item { border-left: 0; } .oc-trust-item { border-bottom: 1px solid var(--oc-line); } .oc-trust-item:nth-child(even) { border-left: 1px solid var(--oc-line); } .oc-trust-item:last-child { grid-column: 1 / -1; border-bottom: 0; } }
@media (max-width: 767px) { .oc-trust-item { padding: 16px 12px; font-size: 13.5px; gap: 9px; } .oc-trust-item strong { font-size: 15px; } .oc-trust-item svg { flex-basis: 18px; width: 18px; height: 18px; } }
@media (max-width: 340px) { .oc-trust { grid-template-columns: 1fr; } .oc-trust-item:nth-child(even) { border-left: 0; } }

/* Bento --------------------------------------------------------------- */
.oc-bento { display: grid !important; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(220px, auto); gap: 18px; }
.oc-tile { position: relative; border-radius: 22px; overflow: hidden; background: var(--oc-surface); border: 1px solid var(--oc-line); padding: 28px !important; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.oc-tile:hover { transform: translateY(-3px); box-shadow: var(--oc-shadow); border-color: transparent; }
.oc-tile .oc-h3 .elementor-heading-title a, .oc-tile a { color: inherit; text-decoration: none; }
.oc-tile .oc-h3 .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.oc-tile-xl { grid-column: span 2; grid-row: span 2; background: var(--oc-deep); border-color: var(--oc-deep); justify-content: flex-end !important; min-height: 460px; }
.oc-tile-xl .elementor-heading-title { color: #fff; }
.oc-tile-xl, .oc-tile-xl p { color: rgba(255,255,255,.8); }
.oc-tile-xl .oc-tile-bg, .oc-tile-photo .oc-tile-bg { position: absolute !important; inset: 0; z-index: 0; margin: 0 !important; }
.oc-tile-bg img { width: 100%; height: 100% !important; object-fit: cover; }
.oc-tile-xl .oc-tile-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,16,51,0) 25%, rgba(11,16,51,.92) 78%); }
.oc-tile-xl > *:not(.oc-tile-bg) { position: relative; z-index: 1; }
.oc-tile-tall { grid-row: span 2; }
.oc-tile-wide { grid-column: span 2; }
.oc-tile-row { grid-column: 1 / -1; }
.oc-area-grid { grid-auto-rows: auto; }
.oc-tile-mist { background: var(--oc-mist); border-color: var(--oc-mist); }
.oc-tile-accent { background: var(--oc-accent); border-color: var(--oc-accent); }
.oc-tile-accent .elementor-heading-title, .oc-tile-accent, .oc-tile-accent p { color: #fff; }
.oc-tile-photo { padding: 0 !important; }
.oc-tile-photo .oc-tile-bg { position: relative !important; inset: auto; height: 220px; }
.oc-tile-photo .oc-tile-body { padding: 24px 28px 28px !important; }
.oc-tile-full { padding: 0 !important; min-height: 240px; }
.oc-tile-full .oc-tile-bg { position: absolute !important; inset: 0; margin: 0 !important; }
.oc-tile-full .oc-tile-bg, .oc-tile-full .oc-tile-bg > *, .oc-tile-full .oc-tile-bg img { height: 100% !important; width: 100%; }
.oc-tile-full .oc-tile-bg img { object-fit: cover; }
.oc-tile-icon svg { width: 34px; height: 34px; fill: var(--oc-accent); }
.oc-tile-accent .oc-tile-icon svg, .oc-tile-xl .oc-tile-icon svg { fill: var(--oc-spark); }
.oc-arrow { font-weight: 600; font-size: 15px; color: var(--oc-accent); margin-top: auto; }
.oc-tile-xl .oc-arrow, .oc-tile-accent .oc-arrow { color: #fff; }
@media (max-width: 1024px) { .oc-bento { grid-template-columns: repeat(2, 1fr); } .oc-tile-xl { grid-column: span 2; min-height: 400px; } .oc-tile-tall { grid-row: span 1; } }
@media (max-width: 600px) { .oc-bento { grid-template-columns: 1fr; } .oc-tile-xl, .oc-tile-wide { grid-column: span 1; } .oc-tile-xl { min-height: 380px; } }

/* Cards / lists -------------------------------------------------------- */
.oc-card { background: var(--oc-surface); border: 1px solid var(--oc-line); border-radius: 20px; padding: 32px !important; }
.oc-card-raised { box-shadow: var(--oc-shadow); border-color: transparent; }
.oc-checks .elementor-icon-list-item { align-items: flex-start !important; padding: 7px 0 !important; font-size: 16.5px; }
.oc-checks .elementor-icon-list-icon { margin-top: 4px; }
.oc-checks .elementor-icon-list-icon svg, .oc-checks .elementor-icon-list-icon i { fill: var(--oc-accent) !important; color: var(--oc-accent) !important; width: 16px !important; height: 16px !important; font-size: 16px; }
.oc-checks .elementor-icon-list-text { color: var(--oc-ink); }
.oc-deep .oc-checks .elementor-icon-list-text { color: rgba(255,255,255,.88); }
.oc-deep .oc-checks .elementor-icon-list-icon svg { fill: var(--oc-spark) !important; }
.oc-points { display: grid; gap: 0; }
.oc-point { padding: 26px 0; border-top: 1px solid var(--oc-line); display: grid; grid-template-columns: 220px 1fr; gap: 28px; }
.oc-point:last-child { border-bottom: 1px solid var(--oc-line); }
.oc-point h3 { font-family: var(--oc-head); font-size: 1.3rem; margin: 0; color: var(--oc-ink); line-height: 1.15; }
.oc-point p { margin: 0; color: var(--oc-muted); }
.oc-deep .oc-point { border-color: rgba(255,255,255,.14); }
.oc-deep .oc-point h3 { color: #fff; }
.oc-deep .oc-point p { color: rgba(255,255,255,.74); }
@media (max-width: 767px) { .oc-point { grid-template-columns: 1fr; gap: 6px; padding: 20px 0; } }

/* Photo compositions --------------------------------------------------- */
.oc-photo img { width: 100%; border-radius: 22px; object-fit: cover; }
.oc-photo-tall img { aspect-ratio: 4/5; }
.oc-photo-wide img { aspect-ratio: 4/3; }
.oc-photo-shadow img { box-shadow: var(--oc-shadow); }
.oc-lift { margin-top: -160px !important; position: relative; z-index: 2; }
.oc-stack { position: relative; }
.oc-stack-b { position: absolute !important; right: -28px; bottom: -40px; width: 46% !important; z-index: 2; }
.oc-stack-b img { border: 6px solid var(--oc-surface); border-radius: 20px; aspect-ratio: 1; object-fit: cover; box-shadow: var(--oc-shadow); }
.oc-deep .oc-stack-b img { border-color: var(--oc-deep); }
@media (max-width: 1024px) { .oc-lift { margin-top: 0 !important; } .oc-stack-b { right: 12px; bottom: -24px; width: 40% !important; } }

/* Areas chips ---------------------------------------------------------- */
.oc-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.oc-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; background: var(--oc-surface); border: 1px solid var(--oc-line); color: var(--oc-ink); font-weight: 600; font-size: 15px; text-decoration: none; transition: all .2s ease; }
.oc-chips a::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--oc-accent); }
.oc-chips a:hover { background: var(--oc-accent); color: #fff; border-color: var(--oc-accent); }
.oc-chips a:hover::before { background: #fff; }
.oc-chips a.is-primary { background: var(--oc-accent); color: #fff; border-color: var(--oc-accent); }
.oc-chips a.is-primary::before { background: var(--oc-spark); }
.oc-deep .oc-chips a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); color: #fff; }
.oc-deep .oc-chips a::before { background: var(--oc-spark); }
.oc-deep .oc-chips a:hover { background: #fff; color: var(--oc-ink); }
.oc-roads { columns: 2; column-gap: 32px; list-style: none; padding: 0; margin: 0; }
.oc-roads li { padding: 9px 0; border-bottom: 1px solid var(--oc-line); break-inside: avoid; color: var(--oc-ink); font-weight: 500; }
.oc-deep .oc-roads li { border-color: rgba(255,255,255,.14); color: #fff; }

/* Reviews -------------------------------------------------------------- */
.oc-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; }
.oc-review { background: var(--oc-surface); border: 1px solid var(--oc-line); border-radius: 20px; padding: 26px; margin: 0; }
.oc-review blockquote { margin: 12px 0 18px; padding: 0; border: 0; font-size: 16.5px; line-height: 1.6; color: var(--oc-ink); quotes: none; }
.oc-review footer { font-size: 14px; color: var(--oc-muted); display: flex; justify-content: space-between; gap: 8px; }
.oc-review footer b { color: var(--oc-ink); }
.oc-review-feature { grid-row: span 2; background: var(--oc-accent); border-color: var(--oc-accent); padding: 34px; }
.oc-review-feature blockquote { color: #fff; font-family: var(--oc-head); font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; }
.oc-review-feature footer, .oc-review-feature footer b { color: rgba(255,255,255,.85); }
.oc-review-feature .oc-stars { color: var(--oc-star); }
@media (max-width: 1024px) { .oc-reviews { grid-template-columns: repeat(2, 1fr); } .oc-review-feature { grid-column: span 2; grid-row: span 1; } }
@media (max-width: 640px) { .oc-reviews { grid-template-columns: 1fr; } .oc-review-feature { grid-column: span 1; } }
.oc-score { font-family: var(--oc-head); font-size: clamp(3.5rem, 7vw, 5.5rem); font-weight: 700; line-height: 1; color: var(--oc-ink); letter-spacing: -0.04em; }

/* FAQ ------------------------------------------------------------------ */
.oc-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--oc-line) !important; }
.oc-faq .elementor-accordion-item:first-child { border-top: 1px solid var(--oc-line) !important; }
.oc-faq .elementor-tab-title { padding: 22px 0 !important; font-family: var(--oc-head); font-size: 1.15rem !important; font-weight: 600; display: flex; flex-direction: row-reverse; justify-content: space-between; gap: 16px; }
.oc-faq .elementor-tab-title a { color: var(--oc-ink) !important; text-decoration: none; }
.oc-faq .elementor-tab-title.elementor-active a { color: var(--oc-accent) !important; }
.oc-faq .elementor-accordion-icon svg { fill: var(--oc-accent); width: 14px; }
.oc-faq .elementor-tab-content { padding: 0 48px 24px 0 !important; border: 0 !important; color: var(--oc-muted); font-size: 16.5px; line-height: 1.65; }

/* Forms ---------------------------------------------------------------- */
.oc-form .elementor-field-group { margin-bottom: 14px; }
.oc-form .elementor-field-label { font-weight: 600; font-size: 14px; color: var(--oc-ink); margin-bottom: 6px; }
.oc-form .elementor-field-textual, .oc-form select.elementor-field { background: var(--oc-surface) !important; border: 1px solid var(--oc-line) !important; border-radius: 12px !important; padding: 14px 16px !important; font-size: 16px !important; color: var(--oc-ink) !important; min-height: 52px; transition: border-color .2s ease, box-shadow .2s ease; }
.oc-form .elementor-field-textual:focus, .oc-form select.elementor-field:focus { border-color: var(--oc-accent) !important; box-shadow: 0 0 0 4px rgba(43,52,134,.14) !important; outline: none; }
.oc-form .elementor-select-wrapper::before { color: var(--oc-accent); }
.oc-form .elementor-button { width: 100%; min-height: 56px; font-size: 16.5px; }
.oc-form .elementor-message { font-weight: 600; }
.oc-form-card { background: var(--oc-surface); border-radius: 26px; padding: 36px !important; box-shadow: var(--oc-shadow); }
@media (max-width: 767px) { .oc-form-card { padding: 24px !important; } }

/* CTA band ------------------------------------------------------------- */
.oc-contact-lines { display: grid; gap: 14px; }
.oc-contact-line { display: flex; gap: 14px; align-items: center; color: inherit; text-decoration: none; }
.oc-contact-line .ic { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); flex: 0 0 46px; }
.oc-contact-line .ic svg { width: 20px; height: 20px; fill: var(--oc-spark); }
.oc-contact-line small { display: block; font-size: 13px; color: rgba(255,255,255,.6); }
.oc-contact-line b { font-family: var(--oc-head); font-size: 1.25rem; color: #fff; font-weight: 600; }
.oc-light-lines .oc-contact-line .ic { background: var(--oc-mist); }
.oc-light-lines .oc-contact-line .ic svg { fill: var(--oc-accent); }
.oc-light-lines .oc-contact-line small { color: var(--oc-muted); }
.oc-light-lines .oc-contact-line b { color: var(--oc-ink); }
a.oc-contact-line:hover b { text-decoration: underline; text-underline-offset: 4px; }

/* Video ---------------------------------------------------------------- */
.oc-video .elementor-wrapper, .oc-video video { border-radius: 22px; overflow: hidden; }
.oc-video .elementor-wrapper { aspect-ratio: 9/16 !important; background: var(--oc-deep); }
.oc-video video { object-fit: cover; }

/* Icons inside buttons follow the button text colour. */
.elementor-button .elementor-button-icon svg { fill: currentColor !important; width: 1em; height: 1em; }
.oc-rating-end { justify-content: flex-end; }
@media (max-width: 767px) { .oc-rating-end { justify-content: flex-start; } }

/* Header --------------------------------------------------------------- */
.oc-logo { flex: 0 0 auto !important; }
.oc-hbtns { flex: 0 0 auto !important; width: auto !important; --width: auto; }
.oc-nav { flex: 1 1 auto; min-width: 0; }
.oc-footer-logo, .oc-footer-logo a { text-align: left !important; display: block; }
.oc-footer-logo img { margin: 0 !important; }
.oc-header { position: sticky; top: 0; z-index: 99; background: rgba(245, 248, 252, .86); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid rgba(213, 221, 235, .7); }
.admin-bar .oc-header { top: 32px; }
.oc-logo img { width: 128px !important; height: auto; display: block; }
.oc-nav .elementor-nav-menu--main .elementor-item { font-family: var(--oc-body); font-weight: 600; font-size: 15.5px; color: var(--oc-ink); padding: 12px 14px !important; }
.oc-nav .elementor-nav-menu--main .elementor-item:hover, .oc-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--oc-accent); }
.oc-nav .elementor-nav-menu--dropdown { background: var(--oc-surface); border-radius: 16px; box-shadow: var(--oc-shadow); padding: 8px 0; border: 1px solid var(--oc-line); }
.oc-nav .elementor-nav-menu--main .sub-menu { min-width: 250px !important; }
.oc-nav .elementor-nav-menu--dropdown a { font-family: var(--oc-body); font-size: 15px; color: var(--oc-ink) !important; padding: 10px 20px !important; }
.oc-nav .elementor-nav-menu--dropdown a:hover, .oc-nav .elementor-nav-menu--dropdown a.elementor-item-active { background: var(--oc-mist) !important; color: var(--oc-accent) !important; }
.oc-nav .elementor-menu-toggle { background: var(--oc-mist); border-radius: 12px; padding: 10px; }
.oc-nav .elementor-menu-toggle svg { fill: var(--oc-ink); }
.oc-hcall .elementor-button { padding: 13px 20px; font-size: 15px; }
.oc-hquote .elementor-button { padding: 13px 22px; font-size: 15px; }
@media (max-width: 1024px) {
  .oc-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 14px; border-radius: 18px; max-height: 70vh; overflow-y: auto; }
  .oc-nav .elementor-nav-menu--dropdown a { font-size: 16px !important; padding: 13px 22px !important; font-weight: 600; }
  .oc-nav .elementor-nav-menu--dropdown a.highlighted, .oc-nav .elementor-nav-menu--dropdown a:focus { background: var(--oc-mist) !important; color: var(--oc-accent) !important; }
  .oc-nav .elementor-nav-menu--dropdown .sub-menu { box-shadow: none !important; border: 0 !important; border-radius: 0 !important; background: var(--oc-bg) !important; margin: 0 !important; padding: 4px 0 !important; position: static !important; width: auto !important; }
  .oc-nav .elementor-nav-menu--dropdown .sub-menu a { font-size: 15px !important; font-weight: 500; padding: 10px 22px 10px 38px !important; border-left: 0 !important; }
  .oc-hquote { display: none; }
}
@media (max-width: 767px) { .oc-hcall { display: none; } .oc-logo img { width: 104px !important; } .admin-bar .oc-header { top: 0; } }

/* Footer --------------------------------------------------------------- */
.oc-footer { color: rgba(255,255,255,.7); font-size: 15px; }
.oc-footer .elementor-heading-title { color: #fff; }
.oc-footer a { color: rgba(255,255,255,.78); text-decoration: none; }
.oc-footer a:hover { color: #fff; }
.oc-flinks { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.oc-flinks-2 { grid-template-columns: 1fr 1fr; column-gap: 20px; }
.oc-fbottom { border-top: 1px solid rgba(255,255,255,.12); font-size: 14px; color: rgba(255,255,255,.55); }
.oc-social { display: flex; gap: 10px; }
.oc-social a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.07); transition: background .2s ease; }
.oc-social a:hover { background: var(--oc-accent); }
.oc-social svg { width: 18px; height: 18px; fill: #fff; }
.oc-footer-logo img { width: 170px !important; }
.oc-nap { font-style: normal; line-height: 1.7; }

/* Mobile action bar ------------------------------------------------------ */
.oc-mbar { display: none; }
@media (max-width: 767px) {
  .oc-mbar { display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: 8px; position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 999; background: rgba(11,16,51,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); padding: 8px; border-radius: 20px; box-shadow: 0 12px 30px -10px rgba(11,16,51,.6); }
  .oc-mbar a { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; border-radius: 14px; color: #fff; font-weight: 600; font-size: 15px; text-decoration: none; background: rgba(255,255,255,.08); }
  .oc-mbar a.q { background: #fff; color: var(--oc-ink); }
  .oc-mbar svg { width: 17px; height: 17px; fill: currentColor; }
  body { padding-bottom: 80px; }
}

/* Motion (gentle, opt-out respected above) ------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  .oc-tile .oc-tile-bg img { transition: transform .6s ease; }
  .oc-tile:hover .oc-tile-bg img { transform: scale(1.04); }
}/* End custom CSS */