.elementor-kit-6{--e-global-color-primary:#0E1F3F;--e-global-color-secondary:#2B7CC4;--e-global-color-text:#3D4D69;--e-global-color-accent:#7DB6EA;--e-global-color-tc_deep:#081329;--e-global-color-tc_muted:#9FB0CC;--e-global-color-tc_bg:#F6F9FD;--e-global-color-tc_tint:#EEF4FB;--e-global-color-tc_border:#E3E8F0;--e-global-color-tc_white:#FFFFFF;--e-global-color-tc_ondark:#C9D5E8;--e-global-color-tc_ondark2:#B9C7DD;--e-global-color-tc_ondark3:#D5DEEA;--e-global-color-tc_blue_dark:#174F86;--e-global-color-tc_line:#D5DEEA;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:800;--e-global-typography-tc_h1-font-family:"Archivo";--e-global-typography-tc_h1-font-size:clamp(40px, 5vw, 72px);--e-global-typography-tc_h1-font-weight:800;--e-global-typography-tc_h1-line-height:1.02em;--e-global-typography-tc_h1-letter-spacing:-0.035em;--e-global-typography-tc_h2-font-family:"Archivo";--e-global-typography-tc_h2-font-size:clamp(34px, 3.8vw, 52px);--e-global-typography-tc_h2-font-weight:800;--e-global-typography-tc_h2-line-height:1.05em;--e-global-typography-tc_h2-letter-spacing:-0.035em;--e-global-typography-tc_h3-font-family:"Archivo";--e-global-typography-tc_h3-font-size:clamp(26px, 2.6vw, 34px);--e-global-typography-tc_h3-font-weight:800;--e-global-typography-tc_h3-line-height:1.1em;--e-global-typography-tc_h3-letter-spacing:-0.025em;--e-global-typography-tc_card-font-family:"Archivo";--e-global-typography-tc_card-font-size:20px;--e-global-typography-tc_card-font-weight:800;--e-global-typography-tc_card-line-height:1.25em;--e-global-typography-tc_card-letter-spacing:-0.01em;--e-global-typography-tc_label-font-family:"Archivo";--e-global-typography-tc_label-font-size:14px;--e-global-typography-tc_label-font-weight:800;--e-global-typography-tc_label-text-transform:uppercase;--e-global-typography-tc_label-line-height:1.2em;--e-global-typography-tc_label-letter-spacing:0.14em;--e-global-typography-tc_eyebrow-font-family:"Archivo";--e-global-typography-tc_eyebrow-font-size:12px;--e-global-typography-tc_eyebrow-font-weight:800;--e-global-typography-tc_eyebrow-text-transform:uppercase;--e-global-typography-tc_eyebrow-line-height:1.3em;--e-global-typography-tc_eyebrow-letter-spacing:0.14em;--e-global-typography-tc_lead-font-family:"Archivo";--e-global-typography-tc_lead-font-size:19px;--e-global-typography-tc_lead-font-weight:500;--e-global-typography-tc_lead-line-height:1.6em;--e-global-typography-tc_body_l-font-family:"Archivo";--e-global-typography-tc_body_l-font-size:17px;--e-global-typography-tc_body_l-font-weight:400;--e-global-typography-tc_body_l-line-height:1.65em;--e-global-typography-tc_body_s-font-family:"Archivo";--e-global-typography-tc_body_s-font-size:15px;--e-global-typography-tc_body_s-font-weight:400;--e-global-typography-tc_body_s-line-height:1.6em;--e-global-typography-tc_nav-font-family:"Archivo";--e-global-typography-tc_nav-font-size:15px;--e-global-typography-tc_nav-font-weight:600;--e-global-typography-tc_nav-line-height:1.2em;background-color:#FFFFFF;color:#0E1F3F;font-family:"Archivo", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#1D6FB8;}.elementor-kit-6 a:hover{color:#0E1F3F;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Archivo", Sans-serif;font-weight:800;border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}
/* Start custom CSS *//* ==========================================================
   Triocare — Site-wide CSS (Site Settings > Custom CSS)
   Only effects Elementor has no native control for.
   ========================================================== */

/* Entrance animation tuned to the design's reveal:
   28px rise + fade, 1s cubic-bezier(.2,.7,.1,1).
   Keeps Elementor's native "Fade In Up" control and delays editable. */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 28px, 0); } to { opacity: 1; transform: none; } }
.elementor-element.animated.fadeInUp { animation-duration: 1s; animation-timing-function: cubic-bezier(.2,.7,.1,1); }

/* Line-mask heading reveal (headings with class "tc-lines").
   Each line is <span class="tc-ln"><span>…</span></span>; it slides up when
   Elementor's entrance animation fires on the widget. */
.tc-lines .tc-ln { display: block; overflow: hidden; padding-bottom: .06em; }
.tc-lines .tc-ln > span { display: block; transform: translateY(110%); }
.tc-lines.animated .tc-ln > span { animation: tcLine 1s cubic-bezier(.2,.7,.1,1) forwards; }
.tc-lines.animated .tc-ln:nth-child(2) > span { animation-delay: .11s; }
.tc-lines .tc-ac { color: #2B7CC4; }
.tc-lines .tc-ac-light { color: #7DB6EA; }
@keyframes tcLine { to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .tc-lines .tc-ln > span { transform: none; animation: none; } }

::selection { background: #2B7CC4; color: #FFFFFF; }
html { scroll-behavior: smooth; }

/* In-page anchors land below the sticky header + section tabs */
.tc-anchor { scroll-margin-top: 140px; }

/* Treatment cards: blue fill rises from the bottom on hover (design) */
.tc-fill { background: linear-gradient(#2B7CC4, #2B7CC4) no-repeat left bottom / 100% 0%;
  transition: background-size .55s cubic-bezier(.2,.7,.1,1), border-color .4s; }
.tc-fill:hover { background-size: 100% 100%; border-color: #2B7CC4 !important; }

/* Lift cards: ease the native hover shadow with the transform */
.tc-lift { transition: transform .45s, box-shadow .45s !important; }

/* Procedure steps: dimmed until the scroll line reaches them (Custom Code toggles .is-on) */
.tc-proc .tc-step { opacity: .35; transition: opacity .6s; }
.tc-proc .tc-step.is-on, .elementor-editor-active .tc-proc .tc-step { opacity: 1; }
.elementor-editor-active .tc-pline { width: 100% !important; }

/* ================= Home page ================= */

/* Decorative 4-column grid lines on dark sections (design) */
.tc-gridlines::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 0; pointer-events: none;
  left: max(32px, calc((100% - 1320px) / 2 + 32px)); right: max(32px, calc((100% - 1320px) / 2 + 32px));
  background: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 25% 100%;
  border-right: 1px solid rgba(255,255,255,.05); }
.tc-slide.tc-gridlines::after { bottom: 96px; z-index: 1; background-image: linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); }

/* Hero slides: fade + slow zoom, staggered text, gradient second line, tab progress bar */
@property --tc-p { syntax: '<percentage>'; inherits: false; initial-value: 0%; }
@keyframes tcFadeIn { from { opacity: 0; } }
@keyframes tcZoom { from { transform: scale(1.08); } to { transform: none; } }
@keyframes tcUp { from { opacity: 0; transform: translateY(18px); } }
@keyframes tcLineIn { from { transform: translateY(110%); } }
@keyframes tcBar { from { --tc-p: 0%; } to { --tc-p: 100%; } }
.tc-hero .e-n-tabs-content > .e-con.e-active { animation: tcFadeIn 1.1s ease; }
.tc-hero .e-active .tc-hphoto { animation: tcZoom 7s ease-out both; }
.tc-hero .e-active .tc-hero-text > * { animation: tcUp .8s cubic-bezier(.2,.7,.1,1) backwards; }
.tc-hero .e-active .tc-hero-text > :nth-child(2) { animation: none; }
.tc-hero .e-active .tc-hero-text > :nth-child(3) { animation-delay: .18s; }
.tc-hero .e-active .tc-hero-text > :nth-child(4) { animation-delay: .27s; }
.tc-hero .e-active .tc-hero-num { animation: tcUp 1s cubic-bezier(.2,.7,.1,1); }
.tc-hl .tc-ln { display: block; overflow: hidden; padding-bottom: .06em; }
.tc-hl .tc-ln > span { display: block; }
.tc-hero .e-active .tc-hl .tc-ln > span { animation: tcLineIn .9s cubic-bezier(.2,.7,.1,1) .08s backwards; }
.tc-hero .e-active .tc-hl .tc-ln:nth-child(2) > span { animation-delay: .19s; }
.tc-grad > span { background: linear-gradient(90deg, #7DB6EA, #B9DCFF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tc-hero .e-n-tab-title.is-done { --tc-p: 100%; }
.tc-hero .e-n-tab-title.is-run { animation: tcBar 6.5s linear forwards; }

/* Marquees (treatment words, treatment cards, reviews) */
@keyframes tcMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.tc-marq { animation: tcMarq var(--tc-marq-d, 40s) linear infinite; }
.tc-marq-rev { animation-direction: reverse; }
.tc-marq-pause:hover { animation-play-state: paused; }
.tc-fade-edges { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
@media (prefers-reduced-motion: reduce) { .tc-marq { animation: none; } }
.elementor-editor-active .tc-marq { animation: none; }  /* editor shows the single editable set, still */

/* Treatment cards: photo zoom, blue fill rises, arrow turns, facts slide open */
.tc-tcard { transition: box-shadow .5s; }
.tc-tcard:hover { box-shadow: 0 30px 60px rgba(14,31,63,.28); }
.tc-tcard .tc-tc-photo { transition: transform 1.2s cubic-bezier(.2,.7,.1,1); }
.tc-tcard:hover .tc-tc-photo { transform: scale(1.08); }
.tc-tcard .tc-tc-fill { height: 0; background: linear-gradient(0deg, rgba(43,124,196,.92), rgba(43,124,196,.55)); transition: height .7s cubic-bezier(.2,.7,.1,1); }
.tc-tcard:hover .tc-tc-fill { height: 100%; }
.tc-tcard .tc-tc-arrow .elementor-icon { transition: transform .5s, background .4s, color .4s; }
.tc-tcard:hover .tc-tc-arrow .elementor-icon { transform: rotate(45deg); background: #FFFFFF !important; color: #0E1F3F !important; fill: #0E1F3F !important; }
.tc-tcard .tc-tc-facts { display: grid !important; grid-template-rows: 0fr; transition: grid-template-rows .6s cubic-bezier(.2,.7,.1,1); }
.tc-tcard .tc-tc-facts > * { overflow: hidden; min-height: 0; }
.tc-tcard:hover .tc-tc-facts { grid-template-rows: 1fr; }

/* Clip-path reveal for framed photos (fires with Elementor's entrance animation) */
@keyframes tcClip { to { clip-path: inset(0 0 0 0); } }
.tc-clip { clip-path: inset(0 0 100% 0); }
.tc-clip.animated { animation: tcClip 1.3s cubic-bezier(.76,0,.24,1) forwards; }
.elementor-editor-active .tc-clip { clip-path: none; }

/* Floating badge: fade in, then gentle float */
@keyframes tcFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.tc-float.animated { animation: fadeInUp 1s cubic-bezier(.2,.7,.1,1) .3s both, tcFloat 6s ease-in-out 1.3s infinite; }

/* Before / after comparison (drag handled by the scroll Custom Code) */
.tc-ba-stage { position: relative; }
.tc-ba { aspect-ratio: 4 / 3.6; cursor: ew-resize; touch-action: pan-y; user-select: none; }
.tc-ba:not(.is-active) { display: none !important; }
.tc-ba .elementor-widget-image, .tc-ba .elementor-widget-image img { height: 100%; width: 100%; }
.tc-ba .tc-ba-after { position: absolute; inset: 0; }
.tc-ba .tc-ba-before { clip-path: inset(0 calc(100% - var(--ba, 50%)) 0 0); z-index: 2; }
.tc-ba .tc-ba-handle { left: var(--ba, 50%) !important; transform: translateX(-1.5px); pointer-events: none; }
.tc-case-btn .elementor-button { background: transparent !important; border-color: rgba(255,255,255,.25) !important; }
.tc-case-btn .elementor-button:hover { border-color: #7DB6EA !important; }
.tc-case-btn.is-active .elementor-button { background: #2B7CC4 !important; border-color: #2B7CC4 !important; }

/* Visit chips: whole chip flips to navy */
.tc-chip { transition: background .3s; }
.tc-chip:hover .elementor-heading-title { color: #FFFFFF; }

/* Review text: 5-line clamp */
.tc-clamp5 p { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; min-height: 128px; }

/* Floating "Book now" appears after the first screen */
.tc-fab { opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity .4s, transform .4s; }
.tc-fab.is-on, .elementor-editor-active .tc-fab { opacity: 1; transform: none; pointer-events: auto; }

/* Header gains a soft shadow once scrolled (Elementor sticky effects) */
header.elementor-sticky--effects { box-shadow: 0 8px 30px rgba(14,31,63,.08); transition: box-shadow .3s; }

/* decorative outline words never catch clicks */
.tc-deco { pointer-events: none; }

/* ================= Inner pages ================= */
/* Treatments: photo zooms on hover */
.tc-zoom .tc-zoom-photo { transition: transform 1s cubic-bezier(.2,.7,.1,1); }
.tc-zoom:hover .tc-zoom-photo { transform: scale(1.05); }
/* Contact channels: card turns navy, value turns white */
.tc-channel { transition: transform .4s, background .3s !important; }
.tc-channel:hover .tc-ch-v .elementor-heading-title { color: #FFFFFF; }

/* long values (e.g. the email address) wrap inside contact cards */
.tc-ch-v .elementor-heading-title { overflow-wrap: anywhere; }/* End custom CSS */