.elementor-kit-10{--e-global-color-primary:#0E1A2B;--e-global-color-secondary:#103058;--e-global-color-text:#54606F;--e-global-color-accent:#2C6FB0;--e-global-color-ground:#F1F1EE;--e-global-color-surface:#FFFFFF;--e-global-color-line:#E1E1DA;--e-global-color-accbright:#5AA6E8;--e-global-color-accsoft:#E4EEF7;--e-global-color-invert:#F1F1EE;--e-global-color-invertmut:#A9B4C2;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:0.14em;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Source Sans 3";--e-global-typography-accent-font-weight:600;background-color:#F1F1EE;color:#0E1A2B;font-family:"Source Sans 3", ui-sans-serif, system-ui, -apple-system, sans-serif;font-size:18px;font-weight:400;line-height:1.6em;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 a{color:#2C6FB0;}.elementor-kit-10 a:hover{color:#103058;}.elementor-kit-10 h1{color:#0E1A2B;font-family:"Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;font-weight:700;line-height:1.05em;letter-spacing:-0.02em;}.elementor-kit-10 h2{color:#0E1A2B;font-family:"Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;font-weight:700;line-height:1.05em;letter-spacing:-0.02em;}.elementor-kit-10 h3{color:#0E1A2B;font-family:"Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;font-weight:700;line-height:1.2em;letter-spacing:-0.01em;}.elementor-kit-10 h4{color:#0E1A2B;font-family:"Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;font-weight:700;line-height:1.05em;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:820px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:430px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --Ink:#0E1A2B; --InkSoft:#16263C; --Navy:#103058; --Accent:#2C6FB0; --AccentBright:#5AA6E8; --AccentSoft:#E4EEF7; --ButtonFrom:#3477B2; --ButtonTo:#234F8C; --Ground:#F1F1EE; --Surface:#FFFFFF; --Line:#E1E1DA; --TextMuted:#54606F; --TextInvert:#F1F1EE; --TextInvertMuted:#A9B4C2; --OnAccent:#FFFFFF; --HeaderScrim:#F1F1EEE0; --ScrimInk60:#00000099; --ScrimInk30:#0000004D; --Radius:4px; --MaxWidth:1200px; --e-gv-ce5928d:px; --e-gv-56d1425:px; --e-gv-55b0714:px; --e-gv-6191779:px; --e-gv-eac8b7e:px; --e-gv-6f9d7ea:px; --LabelSize:0.72rem; --BodySize:18px; --HeaderHeight:76px; --e-gv-ce4c1fa:px; --Display:Archivo; --BodyFont:Source Sans 3; }
/* Start custom CSS *//* == nv:route+btn+ios == */
/* Medical > How It Works: the route motif from the prototype (.route/.stop).
   The grid and the 2.6rem top padding already live on the elements; only the
   dashed connector and the stop markers need pseudo-elements, which atomic
   styles cannot express. Accent #2C6FB0 on Surface #FFFFFF. */
.s-medical-route{position:relative}
.s-medical-route>*{position:relative}
.s-medical-route>*::before{content:"";position:absolute;left:0;top:11px;width:100%;height:1.5px;background:repeating-linear-gradient(90deg,#2C6FB0 0 12px,transparent 12px 24px);opacity:.75}
.s-medical-route>*::after{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:#FFFFFF;border:3px solid #2C6FB0}
.s-medical-route::after{content:"";position:absolute;top:4px;right:0;width:16px;height:16px;border-radius:50%;background:#2C6FB0;box-shadow:0 0 0 3px #FFFFFF}
/* stacked: the line turns vertical. body prefix because Elementor's compiled
   breakpoint CSS loads after the kit sheet at equal specificity. */
@media (max-width:760px){
  body .s-medical-route>*{padding:0 0 2rem 2.25rem}
  body .s-medical-route>*::before{left:7px;top:0;width:1.5px;height:100%;background:repeating-linear-gradient(180deg,#2C6FB0 0 12px,transparent 12px 24px)}
  body .s-medical-route>*::after{top:0}
  body .s-medical-route::after{top:auto;bottom:0;right:auto;left:0}
}

/* Booking form, Date and Needs-to-arrive-by on iOS: WebKit keeps the NATIVE
   intrinsic width on date and time inputs and ignores width:100%, so those two
   fields overflow the form while every text input behaves. Turning the native
   appearance off makes them respect the CSS box. Not Safari-only: every browser
   on iPhone is WebKit underneath, so Brave and Chrome need it too. min-height
   restores the height that went with the native control. Mirrored in
   inner.css so a rebuild carries it. */
input[type="date"],
input[type="time"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:2.9rem;
}

/* Buttons: every button now carries its own hover colour as an element style,
   so the kit link-hover colour (#103058) can no longer repaint a label.
   See BUILD-LOG "Hover repainted button labels". No CSS patch needed here. */
/* == /nv:route+btn+ios == *//* End custom CSS */