/* Start custom CSS *//* Otto navigation: native Elementor elements, fullscreen mobile panel. */
.elementor .otto-screen-reader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.elementor .otto-desktop-nav .otto-navlink {
  position: relative;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .045em;
  font-weight: 700;
  transition: color 250ms ease;
}
.elementor .otto-desktop-nav .otto-navlink::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: .25rem;
  height: 2px;
  border-radius: 2px;
  background: #246EA0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms ease;
}
.elementor .otto-desktop-nav .otto-navlink:hover::after,
.elementor .otto-desktop-nav .otto-navlink:focus-visible::after {
  transform: scaleX(1);
}
.elementor .otto-menu-toggle { list-style: none; }
.elementor .otto-menu-toggle::-webkit-details-marker { display: none; }
.elementor .otto-menu-toggle:focus-visible {
  outline: 2px solid #246EA0;
  outline-offset: 4px;
  border-radius: .3rem;
}
.elementor .otto-menu-toggle-title {
  display: block !important;
  width: 1.75rem !important;
  flex: none !important;
}
.elementor .otto-menu-icon {
  width: 1.75rem !important;
  min-width: 0 !important;
  height: 1.4375rem !important;
  gap: .4375rem !important;
  align-items: flex-end !important;
}
.elementor .otto-menu-bar {
  min-width: 0 !important;
  flex: none !important;
  height: .1875rem !important;
  border-radius: .1875rem !important;
  transform-origin: center;
  transition: transform 320ms ease, opacity 200ms ease, width 320ms ease;
}
.elementor .otto-menu-bar-top { width: 1.75rem !important; }
.elementor .otto-menu-bar-middle { width: 1.125rem !important; }
.elementor .otto-menu-bar-bottom { width: 1.4375rem !important; }
.elementor .otto-mobile-menu details[open] .otto-menu-bar-top {
  transform: translateY(.625rem) rotate(45deg);
}
.elementor .otto-mobile-menu details[open] .otto-menu-bar-middle {
  opacity: 0;
  transform: scaleX(0);
}
.elementor .otto-mobile-menu details[open] .otto-menu-bar-bottom {
  width: 1.75rem !important;
  transform: translateY(-.625rem) rotate(-45deg);
}
@media (max-width: 1024px) {
  .elementor .otto-mobile-menu details:not([open]) .otto-menu-toggle { top: 0 !important; }
  .elementor .otto-mobile-menu details[open] .otto-menu-toggle {
    position: fixed !important;
    top: 2.25rem !important;
    right: 1.5rem !important;
    z-index: 1003 !important;
  }
  .elementor .otto-menu-panel {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8.5rem 1.5rem 2rem !important;
    background: #fff !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    z-index: 1001 !important;
  }
  .elementor .otto-menu-panel-logo {
    position: absolute !important;
    top: 1.5rem !important;
    left: 1.5rem !important;
    width: 8rem !important;
  }
  .elementor .otto-menu-inner {
    min-height: calc(100vh - 10.5rem) !important;
    min-height: calc(100dvh - 10.5rem) !important;
    gap: 2rem !important;
  }
  .elementor .otto-menu-links {
    gap: 1.25rem !important;
    width: 100% !important;
  }
  .elementor .otto-menu-link {
    font-size: clamp(1.75rem, 5vw, 2.5rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    letter-spacing: -.025em !important;
    padding: .125rem 0 !important;
    color: #164B73 !important;
    transition: color 250ms ease;
  }
  .elementor .otto-menu-link:hover,
  .elementor .otto-menu-link:focus-visible { color: #246EA0 !important; }
  .elementor .otto-mobile-menu details[open] .otto-menu-panel {
    animation: otto-panel-in 280ms ease-out both;
  }
  .elementor .otto-mobile-menu details[open] .otto-menu-link {
    animation: otto-link-in 420ms cubic-bezier(.2,.7,.2,1) both;
  }
  .elementor .otto-mobile-menu details[open] .otto-menu-link:nth-child(1) { animation-delay: 60ms; }
  .elementor .otto-mobile-menu details[open] .otto-menu-link:nth-child(2) { animation-delay: 110ms; }
  .elementor .otto-mobile-menu details[open] .otto-menu-link:nth-child(3) { animation-delay: 160ms; }
  .elementor .otto-mobile-menu details[open] .otto-menu-link:nth-child(4) { animation-delay: 210ms; }
  .elementor .otto-mobile-menu details[open] .otto-menu-link:nth-child(5) { animation-delay: 260ms; }
  .elementor .otto-mobile-menu details[open] .otto-menu-contact,
  .elementor .otto-mobile-menu details[open] .otto-menu-cta {
    animation: otto-link-in 420ms ease-out 300ms both;
  }
  body:has(.otto-mobile-menu details[open]) { overflow: hidden !important; }
  body:has(.otto-mobile-menu details[open]) main,
  body:has(.otto-mobile-menu details[open]) footer { visibility: hidden; }
  .otto-site-header:has(.otto-mobile-menu details[open]) > .otto-wrap > :first-child {
    visibility: hidden;
  }
  body.admin-bar .elementor .otto-menu-panel { padding-top: 10.5rem !important; }
  body.admin-bar .elementor .otto-menu-panel-logo { top: 3.5rem !important; }
  body.admin-bar .elementor .otto-mobile-menu details[open] .otto-menu-toggle { top: 4.25rem !important; }
  body.admin-bar .elementor .otto-menu-divider { top: 9.25rem !important; }
  body.admin-bar .elementor .otto-menu-inner { min-height: calc(100dvh - 12.5rem) !important; }
}
@keyframes otto-panel-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes otto-link-in {
  from { opacity: 0; transform: translateY(.65rem); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .otto-menu-panel,
  .elementor .otto-menu-link,
  .elementor .otto-menu-contact,
  .elementor .otto-menu-cta { animation: none !important; }
  .elementor .otto-menu-bar,
  .elementor .otto-navlink,
  .elementor .otto-navlink::after,
  .elementor .otto-menu-link { transition: none !important; }
}


/* Otto site refinement – restrained motion and vector symbols */
@keyframes otto-soft-reveal { from { opacity:.7; transform:translateY(.6rem); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:no-preference) {
 body.elementor-page-44 main > section:first-child > * { animation:otto-soft-reveal .7s ease-out both; }
 body.elementor-page-44 a.e-button-base, body.elementor-page-44 button, body.elementor-page-44 summary { transition:background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
 body.elementor-page-44 main a.e-button-base:hover { transform:translateY(-2px); }
 body.elementor-page-44 main .g-2dc04db { transition:transform .3s ease, box-shadow .3s ease; }
 body.elementor-page-44 main .g-2dc04db:hover { transform:translateY(-3px); }
 body.elementor-page-44 main .e-image-base img { transition:transform .5s ease; }
 body.elementor-page-44 main .e-image-base:hover img { transform:scale(1.015); }
 @supports(animation-timeline:view()) {
  body.elementor-page-44 main > section:not(:first-child) > * { animation:otto-soft-reveal 1s linear both; animation-timeline:view(); animation-range:entry 0% entry 55%; }
 }
}
@media(prefers-reduced-motion:reduce) {
 body.elementor-page-44 *, body.elementor-page-44 *::before, body.elementor-page-44 *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
body.elementor-page-44 [data-id="70e4926a"]::after { content:""; display:inline-block; width:1rem; height:1rem; margin-left:.6rem; vertical-align:middle; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2018%2018%206M6%206h12v12%22/%3E%3C/svg%3E") center/contain no-repeat; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2018%2018%206M6%206h12v12%22/%3E%3C/svg%3E") center/contain no-repeat; }
body.elementor-page-44 .otto-external-icon {display:inline-block; width:1rem; height:1rem; margin-left:.5rem; vertical-align:middle; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M6%2018%2018%206M6%206h12v12%22/%3E%3C/svg%3E") center/contain no-repeat; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M6%2018%2018%206M6%206h12v12%22/%3E%3C/svg%3E") center/contain no-repeat;}

body.elementor-page-44 .otto-check-icon {display:inline-block; width:1rem; height:1rem; vertical-align:middle; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22/%3E%3C/svg%3E") center/contain no-repeat; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22/%3E%3C/svg%3E") center/contain no-repeat;}

/* Otto inner-page editorial hero */
body.elementor-page-44 [data-id="61cc1a3e"] {background:radial-gradient(ellipse at 95% 5%,rgba(149,198,229,.2),transparent 55%),linear-gradient(125deg,#0B2D46 0%,#164B73 50%,#28688E 100%);padding-block:5rem;min-height:24rem;display:flex;align-items:center;}
body.elementor-page-44 [data-id="61cc1a3e"] h1 {color:#FFFFFF;font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.12;letter-spacing:-.035em;}
body.elementor-page-44 [data-id="61cc1a3e"] p {color:#DAEAF5;line-height:1.8;}
body.elementor-page-44 [data-id="61cc1a3e"] .otto-eyebrow {color:#B9D8EB;}
@media(max-width:767px){body.elementor-page-44 [data-id="61cc1a3e"] {min-height:22rem;padding-block:4rem;}body.elementor-page-44 [data-id="61cc1a3e"] h1 {font-size:2.5rem;}}

/* Otto light section animations v2 */
@keyframes otto-section-arrive { from { opacity:.45; translate:0 18px; } to { opacity:1; translate:0 0; } }
@keyframes otto-hero-arrive { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media (prefers-reduced-motion:no-preference) {
 body.elementor-page-44 main > section:first-child > * { animation:otto-hero-arrive 750ms cubic-bezier(.22,1,.36,1) both; }
 body.elementor-page-44 main .otto-card, body.elementor-page-44 main .otto-grid3 > *, body.elementor-page-44 main .otto-button, body.elementor-page-44 main a.e-button-base { transition:translate 250ms ease, box-shadow 250ms ease, background-color 250ms ease, color 250ms ease; }
 @media(hover:hover) {
  body.elementor-page-44 main .otto-card:hover, body.elementor-page-44 main .otto-grid3 > *:hover { translate:0 -3px; box-shadow:0 10px 28px rgba(11,45,70,.07); }
  body.elementor-page-44 main .otto-button:hover, body.elementor-page-44 main a.e-button-base:hover { translate:0 -2px; }
 }
 @supports(animation-timeline:view()) {
  body.elementor-page-44 main > section:not(:first-child) > * { animation:otto-section-arrive 1s ease-out both; animation-timeline:view(); animation-range:entry 0% entry 45%; }
 }
}
@media(prefers-reduced-motion:reduce) {
 body.elementor-page-44 main *, body.elementor-page-44 main *::before, body.elementor-page-44 main *::after { animation:none !important; transition:none !important; translate:none !important; }
}
/* End Otto light section animations v2 */

/* Otto smooth reveal on scroll */
body.elementor-page-44 main > section:not(:first-child) > * {animation:none !important;}
body.elementor-page-44 .elementor-element-0a770ff {display:none !important;}
@media(prefers-reduced-motion:no-preference) {
 body.elementor-page-44 main .otto-scroll-reveal {opacity:0;translate:0 22px;transition:opacity 800ms cubic-bezier(.22,1,.36,1),translate 800ms cubic-bezier(.22,1,.36,1);}
 body.elementor-page-44 main .otto-scroll-reveal.otto-reveal-visible {opacity:1;translate:0 0;}
}
@media(prefers-reduced-motion:reduce) {
 body.elementor-page-44 main .otto-scroll-reveal {opacity:1 !important;translate:none !important;transition:none !important;}
}
/* End Otto smooth reveal on scroll */

/* Gentle fade fallback for browsers requesting reduced motion */
@media(prefers-reduced-motion:reduce) {
 body.elementor-page-44 main .otto-scroll-reveal {opacity:0 !important;translate:none !important;transition:opacity 700ms ease-out !important;}
 body.elementor-page-44 main .otto-scroll-reveal.otto-reveal-visible {opacity:1 !important;}
}

/* Otto feedback update: accessible button contrast */
body.elementor-page-44 main a.e-button-base:hover,body.elementor-page-44 main a.e-button-base:focus-visible,body.elementor-page-44 main .otto-button:hover,body.elementor-page-44 main .otto-button:focus-visible {background:#164B73 !important;color:#FFFFFF !important;}
body.elementor-page-44 main a.e-button-base:hover *,body.elementor-page-44 main a.e-button-base:focus-visible * {color:inherit !important;}
body.elementor-page-44 .otto-hours-shortcut {display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.3rem;}
body.elementor-page-44 .otto-hours-shortcut a {display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.65);border-radius:.4rem;padding:.75rem 1.15rem;color:#FFFFFF;font-weight:700;text-decoration:none;}
body.elementor-page-44 .otto-hours-status {font-size:.9rem;line-height:1.5;}
body.elementor-page-44 .otto-hours-shortcut .otto-hours-status {color:#FFFFFF;}
body.elementor-page-44 .otto-hours-note {font-size:.8rem;opacity:.85;}
body.elementor-page-44 .otto-price-table {width:100%;border-collapse:collapse;background:#FFFFFF;font-size:1rem;line-height:1.5;}
body.elementor-page-44 .otto-price-table th,body.elementor-page-44 .otto-price-table td {padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #DDE8EF;}
body.elementor-page-44 .otto-price-table th {background:#EDF5FA;color:#164B73;font-weight:700;}
body.elementor-page-44 .otto-price-table th:last-child,body.elementor-page-44 .otto-price-table td:last-child {text-align:right;white-space:nowrap;}
body.elementor-page-44 .otto-price-table tr:last-child td {border-bottom:0;}
body.elementor-page-44 .otto-price-group {margin-top:1.5rem;border:1px solid #DDE8EF;border-radius:.7rem;overflow:hidden;}
body.elementor-page-44 .otto-price-group summary {padding:1.2rem 1.25rem;font-size:1.15rem;color:#164B73;font-weight:700;cursor:pointer;background:white;}
body.elementor-page-44 .otto-price-group small {display:block;color:#5C6F7D;font-weight:400;}
@media(max-width:767px) {body.elementor-page-44 .otto-price-table th,body.elementor-page-44 .otto-price-table td {padding:.85rem .7rem;font-size:.9rem;}body.elementor-page-44 .otto-price-table td:first-child {width:65%;}}

body.elementor-page-44 .elementor-element-0a770180 {display:none !important;}

/* Mobile menu fits the visible Safari viewport */
@media(max-width:1024px){
.elementor .otto-menu-panel {height:100vh!important;height:100dvh!important;box-sizing:border-box!important;padding:calc(6.5rem + env(safe-area-inset-top,0px)) 1.5rem calc(1rem + env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;}
.elementor .otto-menu-panel-logo {top:calc(1rem + env(safe-area-inset-top,0px))!important;width:7rem!important;}
.elementor .otto-mobile-menu details[open] .otto-menu-toggle {top:calc(1.3rem + env(safe-area-inset-top,0px))!important;}
.elementor .otto-menu-divider {top:calc(5.75rem + env(safe-area-inset-top,0px))!important;}
.elementor .otto-menu-inner {min-height:0!important;height:100%!important;gap:clamp(.75rem,2dvh,1.25rem)!important;}
.elementor .otto-menu-links {gap:clamp(.35rem,1.4dvh,.85rem)!important;flex-shrink:0!important;}
.elementor .otto-menu-link {font-size:clamp(1.5rem,4dvh,2rem)!important;line-height:1.2!important;min-height:44px!important;display:flex!important;align-items:center!important;padding:0!important;}
.elementor .otto-menu-contact {margin-top:auto!important;padding-top:0!important;gap:.45rem!important;flex-shrink:0!important;}
.elementor .otto-menu-cta {min-height:48px!important;padding:.75rem 1.25rem!important;flex-shrink:0!important;justify-content:center!important;}
}
@media(max-width:1024px) and (max-height:650px){
.elementor .otto-menu-panel {padding-top:calc(5.5rem + env(safe-area-inset-top,0px))!important;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))!important;}
.elementor .otto-menu-panel-logo {width:6rem!important;top:calc(.75rem + env(safe-area-inset-top,0px))!important;}
.elementor .otto-menu-divider {top:calc(4.75rem + env(safe-area-inset-top,0px))!important;}
.elementor .otto-menu-inner {gap:.65rem!important;}
.elementor .otto-menu-links {gap:.2rem!important;}
.elementor .otto-menu-contact {gap:.25rem!important;}
}

/* Consistent mobile header edge spacing and toggle position */
@media(max-width:1024px){
.elementor .otto-site-header {padding-inline:1.25rem!important;min-height:6rem!important;}
.elementor .otto-site-header > .otto-wrap {padding-inline:0!important;}
.elementor .otto-site-header > .otto-wrap > .e-image-link-base img {width:7rem!important;}
.elementor .otto-menu-panel-logo {left:1.25rem!important;top:calc(1rem + env(safe-area-inset-top,0px))!important;width:7rem!important;}
.elementor .otto-mobile-menu details .otto-menu-toggle,
.elementor .otto-mobile-menu details:not([open]) .otto-menu-toggle,
.elementor .otto-mobile-menu details[open] .otto-menu-toggle {position:fixed!important;top:calc(1.5rem + env(safe-area-inset-top,0px))!important;right:1.25rem!important;width:3rem!important;height:3rem!important;}
}

@media(max-width:1024px){.elementor .otto-mobile-menu details .otto-menu-toggle,.elementor .otto-mobile-menu details:not([open]) .otto-menu-toggle,.elementor .otto-mobile-menu details[open] .otto-menu-toggle {right:.375rem!important;}}

@media(max-width:1024px){html {scrollbar-width:none;}html::-webkit-scrollbar {display:none;}}

/* Footer logo: original artwork in white, with transparent background */
body.elementor-page-44 footer img.e-247624cc-e8f0 {filter:brightness(0) invert(1);background:transparent!important;padding:0!important;border-radius:0!important;width:11rem!important;}
@media(max-width:767px){body.elementor-page-44 footer img.e-247624cc-e8f0 {width:9rem!important;}}

/* Original footer logo file, slightly larger */
body.elementor-page-44 footer img.e-247624cc-e8f0 {filter:none!important;background:#FFFFFF!important;padding:.5rem!important;border-radius:.25rem!important;width:11rem!important;}
@media(max-width:767px){body.elementor-page-44 footer img.e-247624cc-e8f0 {width:9rem!important;}}/* End custom CSS */