.elementor-kit-5{--e-global-color-primary:#005282;--e-global-color-secondary:#4F5045;--e-global-color-text:#5E5E55;--e-global-color-accent:#AB8D56;--e-global-color-29088a8:#FFFFFF;--e-global-color-a1c0b01:#EBE8E1;--e-global-color-a1c0b02:#DAD7D0;--e-global-color-a1c0b14:#F8F8F6;--e-global-color-a1c0b03:#D9BB87;--e-global-color-a1c0b04:#87857D;--e-global-color-a1c0b12:#87857D59;--e-global-color-a1c0b15:#FFFFFF14;--e-global-color-a1c0b13:#55584B;--e-global-color-a1c0b05:#003D61;--e-global-color-a1c0b16:#00528214;--e-global-color-a1c0b10:#002E4A;--e-global-color-a1c0b06:#4F5045B3;--e-global-color-a1c0b11:#00000066;--e-global-color-a1c0b07:#00000099;--e-global-color-a1c0b08:#EBE8E166;--e-global-color-a1c0b09:#FFFFFF4D;--e-global-color-25d31ee:#000000;--e-global-color-16d0403:#00B8FF;--e-global-typography-primary-font-family:"Satoshi";--e-global-typography-primary-font-size:clamp(1.75rem, 1.382rem + 1.569vw, 2.5rem);--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Satoshi";--e-global-typography-secondary-font-size:clamp(1.375rem, 1.253rem + 0.523vw, 1.625rem);--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-text-font-family:"Satoshi";--e-global-typography-text-font-size:clamp(1rem, 0.969rem + 0.131vw, 1.0625rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Satoshi";--e-global-typography-accent-font-size:0.875rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0.1em;--e-global-typography-b2d0c01-font-family:"Satoshi";--e-global-typography-b2d0c01-font-size:clamp(1.875rem, 1.324rem + 2.353vw, 3rem);--e-global-typography-b2d0c01-font-weight:500;--e-global-typography-b2d0c01-line-height:1.15em;--e-global-typography-b2d0c02-font-family:"Satoshi";--e-global-typography-b2d0c02-font-size:clamp(1.125rem, 1.064rem + 0.261vw, 1.25rem);--e-global-typography-b2d0c02-font-weight:500;--e-global-typography-b2d0c02-line-height:1.3em;--e-global-typography-b2d0c03-font-family:"Satoshi";--e-global-typography-b2d0c03-font-size:1.125rem;--e-global-typography-b2d0c03-font-weight:500;--e-global-typography-b2d0c03-line-height:1.3em;--e-global-typography-b2d0c04-font-family:"Satoshi";--e-global-typography-b2d0c04-font-size:1rem;--e-global-typography-b2d0c04-font-weight:500;--e-global-typography-b2d0c04-line-height:1.3em;--e-global-typography-b2d0c05-font-family:"Satoshi";--e-global-typography-b2d0c05-font-size:clamp(1.125rem, 1.064rem + 0.261vw, 1.25rem);--e-global-typography-b2d0c05-font-weight:400;--e-global-typography-b2d0c05-line-height:1.5em;--e-global-typography-b2d0c06-font-family:"Satoshi";--e-global-typography-b2d0c06-font-size:0.875rem;--e-global-typography-b2d0c06-font-weight:500;--e-global-typography-b2d0c06-text-transform:uppercase;--e-global-typography-b2d0c06-line-height:1.4em;--e-global-typography-b2d0c06-letter-spacing:0.1em;--e-global-typography-b2d0c07-font-family:"Satoshi";--e-global-typography-b2d0c07-font-size:0.8125rem;--e-global-typography-b2d0c07-font-weight:500;--e-global-typography-b2d0c07-line-height:1.2em;--e-global-typography-b2d0c07-letter-spacing:0.02em;--e-global-typography-b2d0c08-font-family:"Satoshi";--e-global-typography-b2d0c08-font-size:clamp(1.125rem, 1.064rem + 0.261vw, 1.25rem);--e-global-typography-b2d0c08-font-weight:500;--e-global-typography-b2d0c08-line-height:1.5em;--e-global-typography-b2d0c09-font-family:"Satoshi";--e-global-typography-b2d0c09-font-size:clamp(1.375rem, 1.253rem + 0.523vw, 1.625rem);--e-global-typography-b2d0c09-font-weight:700;--e-global-typography-b2d0c09-line-height:1.25em;--e-global-typography-b2d0c10-font-family:"Satoshi";--e-global-typography-b2d0c10-font-size:1rem;--e-global-typography-b2d0c10-font-weight:700;--e-global-typography-b2d0c10-text-transform:uppercase;--e-global-typography-b2d0c10-line-height:1.4em;--e-global-typography-b2d0c10-letter-spacing:0.02em;--e-global-typography-b2d0c11-font-family:"Satoshi";--e-global-typography-b2d0c11-font-size:0.8125rem;--e-global-typography-b2d0c11-font-weight:500;--e-global-typography-b2d0c11-text-transform:uppercase;--e-global-typography-b2d0c11-line-height:1.4em;--e-global-typography-b2d0c11-letter-spacing:0.15em;--e-global-typography-b2d0c12-font-family:"Satoshi";--e-global-typography-b2d0c12-font-size:clamp(1.75rem, 1.382rem + 1.569vw, 2.5rem);--e-global-typography-b2d0c12-font-weight:300;--e-global-typography-b2d0c12-font-style:italic;--e-global-typography-b2d0c12-line-height:1.2em;background-color:var( --e-global-color-a1c0b01 );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );color:var( --e-global-color-29088a8 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:0.875rem 2rem 0.875rem 2rem;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-a1c0b10 );color:var( --e-global-color-29088a8 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a1c0b10 );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:18px;}.elementor-kit-5 a{color:var( --e-global-color-primary );text-decoration:none;}.elementor-kit-5 a:hover{color:var( --e-global-color-a1c0b05 );text-decoration:none;}.elementor-kit-5 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-b2d0c02-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-b2d0c02-font-size );font-weight:var( --e-global-typography-b2d0c02-font-weight );line-height:var( --e-global-typography-b2d0c02-line-height );letter-spacing:var( --e-global-typography-b2d0c02-letter-spacing );word-spacing:var( --e-global-typography-b2d0c02-word-spacing );}.elementor-kit-5 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-b2d0c03-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-b2d0c03-font-size );font-weight:var( --e-global-typography-b2d0c03-font-weight );line-height:var( --e-global-typography-b2d0c03-line-height );letter-spacing:var( --e-global-typography-b2d0c03-letter-spacing );word-spacing:var( --e-global-typography-b2d0c03-word-spacing );}.elementor-kit-5 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-b2d0c04-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-b2d0c04-font-size );font-weight:var( --e-global-typography-b2d0c04-font-weight );line-height:var( --e-global-typography-b2d0c04-line-height );letter-spacing:var( --e-global-typography-b2d0c04-letter-spacing );word-spacing:var( --e-global-typography-b2d0c04-word-spacing );}.elementor-kit-5 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );color:var( --e-global-color-text );background-color:var( --e-global-color-29088a8 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a1c0b04 );border-radius:0px 0px 0px 0px;padding:0.75rem 1rem 0.75rem 1rem;}.elementor-kit-5 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea:focus,.elementor-kit-5 .elementor-field-textual:focus{background-color:var( --e-global-color-29088a8 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end: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-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h4{font-size:var( --e-global-typography-b2d0c02-font-size );line-height:var( --e-global-typography-b2d0c02-line-height );letter-spacing:var( --e-global-typography-b2d0c02-letter-spacing );word-spacing:var( --e-global-typography-b2d0c02-word-spacing );}.elementor-kit-5 h5{font-size:var( --e-global-typography-b2d0c03-font-size );line-height:var( --e-global-typography-b2d0c03-line-height );letter-spacing:var( --e-global-typography-b2d0c03-letter-spacing );word-spacing:var( --e-global-typography-b2d0c03-word-spacing );}.elementor-kit-5 h6{font-size:var( --e-global-typography-b2d0c04-font-size );line-height:var( --e-global-typography-b2d0c04-line-height );letter-spacing:var( --e-global-typography-b2d0c04-letter-spacing );word-spacing:var( --e-global-typography-b2d0c04-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-5 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h4{font-size:var( --e-global-typography-b2d0c02-font-size );line-height:var( --e-global-typography-b2d0c02-line-height );letter-spacing:var( --e-global-typography-b2d0c02-letter-spacing );word-spacing:var( --e-global-typography-b2d0c02-word-spacing );}.elementor-kit-5 h5{font-size:var( --e-global-typography-b2d0c03-font-size );line-height:var( --e-global-typography-b2d0c03-line-height );letter-spacing:var( --e-global-typography-b2d0c03-letter-spacing );word-spacing:var( --e-global-typography-b2d0c03-word-spacing );}.elementor-kit-5 h6{font-size:var( --e-global-typography-b2d0c04-font-size );line-height:var( --e-global-typography-b2d0c04-line-height );letter-spacing:var( --e-global-typography-b2d0c04-letter-spacing );word-spacing:var( --e-global-typography-b2d0c04-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-5 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */ol, ul {margin-block-end: 10px;}

/* Links: smooth color rollover site-wide. Logged in 05 Build Log. */
a { transition: color .2s ease, text-decoration-color .2s ease; }

/* Links inside paragraph text stay underlined so they're distinguishable from body copy (WCAG 1.4.1); rollover removes the underline. */
.elementor-widget-text-editor a:not(.elementor-button) { text-decoration: underline; text-underline-offset: 0.2em; }
.elementor-widget-text-editor a:not(.elementor-button):hover,
.elementor-widget-text-editor a:not(.elementor-button):focus-visible { text-decoration-color: transparent; }

/* Reduced motion: visitors who set their device to reduce motion see content without entrance or hover-scale animations. Logged in 05 Build Log. */
@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { visibility: visible !important; }
  .animated { animation: none !important; }
  [class*="elementor-animation-"] { transition: none !important; transform: none !important; }
}

/* FAQ accordion (nested accordion widget with CSS class "faq").
   All colors, fonts, spacing and icons are set natively in the widget (Card BG cards, Secondary title,
   H4 type, plus/minus circle icons in Icon / Primary). This block adds only a visible keyboard focus
   outline, which the widget has no control for. Globals only.
   Replaces the 2026-10-12 hover/open block. Logged in 05 Build Log 2026-10-16. */
.elementor-widget.faq .e-n-accordion-item > .e-n-accordion-item-title:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: -4px;
}

/* Interior Page hero (template 1433): the excerpt heading widget has CSS class "hero-excerpt".
   Page excerpts are written as: headline text <span class="hero-sub">subtitle text</span>.
   The headline uses the widget's own settings (Hero global, Secondary). Elementor can't style part of
   a dynamic value, so this rule turns the span into the subtitle line: Body Large global + Text color.
   Globals only. Logged in 05 Build Log 2026-10-16. */
.hero-excerpt .hero-sub {
  display: block;
  margin-top: 1.25rem;
  font-family: var(--e-global-typography-b2d0c05-font-family), sans-serif;
  font-size: var(--e-global-typography-b2d0c05-font-size);
  font-weight: var(--e-global-typography-b2d0c05-font-weight);
  line-height: var(--e-global-typography-b2d0c05-line-height);
  color: var(--e-global-color-text);
}

/* Key benefits lists (procedure pages): Text Editor bullet list inside a container with CSS class "keys-container".
   Each list item becomes a Card BG card with a Primary check circle on the left; editors keep editing a normal
   bulleted list ("<strong>Label:</strong> description"). Text color and typography are set natively in the widget
   (Primary color, Text global). The check is drawn with CSS (no icon font) and is decorative.
   Globals only. Logged in 05 Build Log 2026-10-16. */
.keys-container .elementor-widget-text-editor ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.keys-container .elementor-widget-text-editor li {
  position: relative;
  margin: 0;
  padding: 1.75rem 2rem 1.75rem 6rem;
  background-color: var(--e-global-color-a1c0b14); /* Card BG */
}
.keys-container .elementor-widget-text-editor li > p { margin: 0; }
.keys-container .elementor-widget-text-editor li::before { /* circle */
  content: "";
  position: absolute;
  left: 2rem;
  top: 50%;
  width: 2rem;
  height: 2rem;
  margin-top: -1rem;
  border-radius: 50%;
  background-color: var(--e-global-color-primary);
}
.keys-container .elementor-widget-text-editor li::after { /* check mark */
  content: "";
  position: absolute;
  left: 2.8rem;
  top: 50%;
  width: 0.4rem;
  height: 0.75rem;
  margin-top: -0.5rem;
  border: solid var(--e-global-color-29088a8); /* White */
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .keys-container .elementor-widget-text-editor li { padding: 1.25rem 1.25rem 1.25rem 4.25rem; }
  .keys-container .elementor-widget-text-editor li::before { left: 1.25rem; }
  .keys-container .elementor-widget-text-editor li::after { left: 2.05rem; }
}

/* Intro video (PowerPack Video widget with CSS class "intro-video-player", in the "intro-video" container).
   PowerPack has no position control for the play button, so this moves it from center to bottom-right and
   makes it a fixed 3.5rem circle. Its colors are set natively in the widget (White icon on Overlay; Primary on hover).
   The label pill (Heading with class "intro-video-label") lets clicks pass through to the video, and hides
   once the Vimeo player has loaded (i.e. after play is clicked).
   No colors or fonts. Logged in 05 Build Log 2026-10-16. */
.intro-video-player .pp-video-play-icon {
  top: auto;
  left: auto;
  right: 1.5rem;
  bottom: 1.5rem;
  margin: 0;
  transform: none;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 0.2rem; /* optically centers the play triangle */
}
@media (max-width: 767px) {
  .intro-video-player .pp-video-play-icon { right: 0.75rem; bottom: 0.75rem; }
}
.intro-video-label { pointer-events: none; }
.intro-video:has(.intro-video-player iframe) .intro-video-label { display: none; }

/* Sidebar quicklinks (icon list with CSS class "quicklinks"): hover and keyboard focus match the main nav
   (PowerPack Advanced Menu, Underline pointer, fade).
   Text/icon colors and their 0.3s fade are set natively in the widget (Text -> Primary).
   This block adds only the 3px Primary underline that fades in, plus a visible keyboard focus outline. Globals only.
   Logged in 05 Build Log 2026-10-14. */
.elementor-widget.quicklinks .elementor-icon-list-item > a {
  position: relative;
}
.elementor-widget.quicklinks .elementor-icon-list-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.25rem;
  height: 3px;
  background-color: var(--e-global-color-primary);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.elementor-widget.quicklinks .elementor-icon-list-item > a:hover::after,
.elementor-widget.quicklinks .elementor-icon-list-item > a:focus-visible::after {
  opacity: 1;
}
.elementor-widget.quicklinks .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text,
.elementor-widget.quicklinks .elementor-icon-list-item > a:focus-visible .elementor-icon-list-icon i {
  color: var(--e-global-color-primary);
}
.elementor-widget.quicklinks .elementor-icon-list-item > a:focus-visible .elementor-icon-list-icon svg {
  fill: var(--e-global-color-primary);
}
.elementor-widget.quicklinks .elementor-icon-list-item > a:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget.quicklinks .elementor-icon-list-item > a::after { transition: none; }
}

/* Services grid (Home, Our Services; container with CSS class "services-grid"):
   each Call to Action card fills its full grid cell, so the background image and
   overlay are the same height across a row even when card text wraps differently.
   No colors or fonts. Logged in 05 Build Log 2026-10-14. */
.services-grid .elementor-widget-call-to-action,
.services-grid .elementor-widget-call-to-action > .elementor-widget-container,
.services-grid .elementor-widget-call-to-action .elementor-cta {
  height: 100%;
}
/* Services grid cards: title stays at the top; description + "Learn more" sit at the bottom,
   so every "Learn more" lines up across a row (matches the XD design). The CTA widget can only
   align its content as one block. No colors or fonts. Logged in 05 Build Log 2026-10-15. */
.services-grid .elementor-widget-call-to-action .elementor-cta__content {
  height: 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}
.services-grid .elementor-widget-call-to-action .elementor-cta__description {
  margin-top: auto;
}
/* Services grid cards: softer hover zoom on the background photo, 105% instead of the widget's
   built-in 120% (the CTA widget has no zoom-amount setting). Reduced motion: no zoom.
   Logged in 05 Build Log 2026-10-15. */
.services-grid .elementor-bg-transform-zoom-in:hover .elementor-bg {
  transform: scale(1.05);
}
@media (prefers-reduced-motion: reduce) {
  .services-grid .elementor-bg-transform-zoom-in:hover .elementor-bg { transform: none; }
}

/* Quick link tiles (Home, "Care that's tailored to you"; image box widgets with CSS class "quicklink-tile").
   1) Icon color: the icons are image files, so a CSS filter recolors them to the "Icon" global (#55584B).
      Filter values can't reference a global; if the Icon global changes, regenerate this filter chain.
   2) Hover / keyboard focus: a rounded Control BG (White 30%) tile fades in behind the icon only.
      Drawn with background + box-shadow spread so it doesn't shift the layout.
   Logged in 05 Build Log 2026-10-15. */
.quicklink-tile .elementor-image-box-img img {
  filter: brightness(0) saturate(100%) invert(33%) sepia(12%) saturate(542%) hue-rotate(33deg) brightness(87%) contrast(78%); /* = #55584B (Icon) */
}
.quicklink-tile .elementor-image-box-img {
  line-height: 0;
  border-radius: 4px;
  background-color: transparent;
  box-shadow: 0 0 0 0.75rem transparent;
  transition: background-color 0.4s ease, box-shadow 0.4s ease;
}
.quicklink-tile:hover .elementor-image-box-img,
.quicklink-tile:focus-within .elementor-image-box-img {
  background-color: var(--e-global-color-a1c0b09); /* Control BG */
  box-shadow: 0 0 0 0.75rem var(--e-global-color-a1c0b09);
}
@media (prefers-reduced-motion: reduce) {
  .quicklink-tile .elementor-image-box-img { transition: none; }
}

/* Implant parts list (Unlimited Elements Icon Bullets with CSS class "implant-parts", Dental Implants 144).
   The item is a flex row, so the number badge stretched to the full card height (an oval).
   This keeps both the wrapper and the badge a fixed 3.5rem circle (= the widget's 56px Icon Width),
   vertically centered beside the text. The widget's Item Padding only pads the text, so the wrapper
   gets a left margin to keep the badge off the card's left border (1.5rem desktop/tablet, 1rem mobile).
   Colors and the number's font stay in the widget (Primary / White / Secondary globals).
   No colors or fonts. Logged in 05 Build Log 2026-10-17; margin added 2026-10-22. */
.implant-parts .ue-icon-wrapper,
.implant-parts .ue-icon {
  flex: 0 0 3.5rem;
  width: 3.5rem;
  height: 3.5rem;
  min-height: 0;
  border-radius: 50%;
  box-sizing: border-box;
}
.implant-parts .ue-icon-wrapper {
  align-self: center;
  margin-left: 1.5rem;
}
@media (max-width: 767px) {
  .implant-parts .ue-icon-wrapper { margin-left: 1rem; }
}
.implant-parts .ue-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://basekampdesignclient.com/neaoralsurgery/wp-content/uploads/sites/83/2026/10/Satoshi-Variable.woff2') format('woff2');
}
/* End Custom Fonts CSS */