/* Marina IT motion layer: page fade-in, scroll reveals, scroll-linked image growth, hover animations.
   Modelled on the Casa Alta site (long ease-out reveals, clip-path image reveal, lift + zoom hovers).
   Reveal "hidden" states exist only while html.fx-on is set by motion-fx.js, and are removed again once played. */
:root{--fx-ease:cubic-bezier(.4,0,.2,1);--fx-out:cubic-bezier(.22,.8,.3,1);--mi-ease-ui:cubic-bezier(.4,0,.2,1);--mi-ease-reveal:cubic-bezier(.22,.8,.3,1)}

/* ---------- hover + focus transitions (colour changes stay on with reduced motion) ---------- */
#dc-root :is(a,button,summary,[role=button],input,select,textarea,.chip,.dchip,.pill,.sym,.card){
 transition:color .4s var(--fx-ease),background-color .5s var(--fx-ease),border-color .5s var(--fx-ease),
  box-shadow .7s var(--fx-ease),transform .7s var(--fx-ease),translate .7s var(--fx-ease),opacity .4s var(--fx-ease)}
#dc-root :is(input,textarea,select):focus{box-shadow:0 0 0 4px rgba(8,117,141,.18)}
#dc-root :is(a.tlink,p a:not([style*="min-height"])):not(.btn):not(.card){text-underline-offset:3px;transition-property:color,text-underline-offset,translate,opacity}
.mi-global-header :is(a,button){transition:color .4s var(--fx-ease),background-color .4s var(--fx-ease),border-color .4s var(--fx-ease),box-shadow .6s var(--fx-ease),transform .6s var(--fx-ease)}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 /* buttons */
 #dc-root :is(.btn,.btn-primary,.btn-ghost,a[style*="min-height"][style*="border-radius"]):hover{translate:0 -3px;box-shadow:0 16px 32px -16px rgba(12,31,51,.55)}
 #dc-root :is(.btn,.btn-primary,.btn-ghost,a[style*="min-height"][style*="border-radius"]):active{translate:0 0;box-shadow:none;transition-duration:.25s}
 #dc-root .btn .arr,#dc-root .tlink .arr{display:inline-block;transition:transform .6s var(--fx-ease)}
 #dc-root :is(.btn,.tlink):hover .arr{transform:translateX(5px)}
 /* text links */
 #dc-root a.tlink:hover{text-underline-offset:7px}
 #dc-root p a:not(.btn):hover,#dc-root li a:not(.btn):not(.card):hover{text-underline-offset:5px}
 /* chips, pills, option buttons */
 #dc-root :is(.chip,.dchip):hover{translate:0 -2px;box-shadow:0 8px 18px -12px rgba(12,31,51,.5)}
 #dc-root :is(.pill,.sym,button[aria-pressed]):hover{translate:0 -2px}
 #dc-root :is(.pill,.sym,button[aria-pressed]):active{translate:0 0}
 /* cards */
 #dc-root :is(a.card,.card,.mi-guide-card,.mi-gloss-card,.mi-resource-card,.mi-category-card,.service-card,.guide-card,.tile,.benefit):hover{
  translate:0 -6px;box-shadow:0 28px 56px -30px rgba(12,31,51,.45)}
 /* images zoom inside their clipping card */
 #dc-root img[data-fx-clip]{transform-origin:center}
 #dc-root :is(a,article,.card,figure,li):hover img[data-fx-clip]{--fx-h:1.055}
 #dc-root details:hover>summary{color:#08758d}
 /* footer + header */
 #dc-root .mi-global-footer a:hover{translate:4px 0}
 #dc-root .mi-global-footer :is(.mi-footer-logo,.mi-footer-social a):hover{translate:0 0;transform:scale(1.06)}
 .mi-global-header :is(a,button):hover{transform:translateY(-1px)}
 .mi-global-header .mi-header-nav a:hover{transform:none}
}

/* ---------- motion (skipped entirely for prefers-reduced-motion) ---------- */
@media (prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 @keyframes fx-page{from{opacity:0}to{opacity:1}}
 html body #dc-root>.sc-host>div>:not(footer):not(.mi-global-footer){animation:fx-page .3s ease-out backwards}
 html body.fx-leaving #dc-root>.sc-host>div>:not(footer):not(.mi-global-footer){opacity:0;transition:opacity .18s var(--fx-ease)}

 /* scroll reveal */
 html.fx-on .fx{opacity:0;translate:0 16px;
  transition:opacity .5s var(--fx-out) var(--fx-d,0s),translate .6s var(--fx-out) var(--fx-d,0s)!important}
 html.fx-on .fx.fx-in{opacity:1;translate:none}
 html.fx-on img.fx{translate:none;clip-path:inset(4% 4% 4% 4% round 20px);
  transition:opacity .45s var(--fx-out) var(--fx-d,0s),clip-path .6s var(--fx-out) var(--fx-d,0s)!important}
 html.fx-on img.fx.fx-in{clip-path:inset(0 0 0 0 round 20px)}

 /* images: scale grows with scroll (--fx-s, set by motion-fx.js) and on card hover (--fx-h) */
 #dc-root img[data-fx-s]{scale:calc(var(--fx-s,1)*var(--fx-h,1));will-change:scale}
 #dc-root img[data-fx-s]:not(.fx){transition:scale 1.1s var(--fx-out)}
}

/* ---------- topic cards: every topic is a stacked layer; the selected one crossfades in ---------- */
.fx-layer{opacity:0;visibility:hidden;pointer-events:none}
.fx-layer.is-on{opacity:1;visibility:visible;pointer-events:auto}
@media (prefers-reduced-motion:no-preference){
 .fx-layer{translate:0 10px;transition:opacity .9s var(--fx-ease),translate 1.1s var(--fx-ease),visibility 0s linear .9s}
 .fx-layer.is-on{translate:0 0;transition:opacity 1s var(--fx-ease) .2s,translate 1.1s var(--fx-ease) .2s,visibility 0s}
}

/* ---------- category pages: process steps ("how-h" band) keep their dots clear of the text when they wrap ---------- */
html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol{border-top:0!important;row-gap:26px!important}
html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol>li{border-top:2px solid rgba(255,255,255,.25)}
@media (max-width:700px){
 html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol{display:flex!important;flex-direction:column;row-gap:22px!important;padding-left:30px!important;border-left:2px solid rgba(255,255,255,.25)}
 html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol>li{border-top:0;padding:0!important}
 html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol>li>span[aria-hidden]{left:-37px!important;top:5px!important}
 html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"] ol>li>span[aria-hidden][style*="width:16px"]{left:-39px!important;top:3px!important}
}
html[data-mi-category-v2] #dc-root section[aria-labelledby="how-h"]{overflow:hidden}

/* ---------- soften the older site-wide hover transitions (they were 0.2 to 0.3 s) ---------- */
:root{--mi-duration-fast:350ms;--mi-duration-standard:550ms;--mi-duration-hover:550ms}
@media (prefers-reduced-motion:no-preference){
 body.mi-board-ready #dc-root :is(a.pin,.benefit,.stab,.tile){transition:background-color .65s var(--fx-ease),color .65s var(--fx-ease),border-color .65s var(--fx-ease),box-shadow .8s var(--fx-ease),translate .8s var(--fx-ease)!important}
 body.mi-board-ready #dc-root .tile::after{transition:opacity .8s var(--fx-ease),box-shadow .8s var(--fx-ease)!important}
 body.mi-board-ready #dc-root .mi-home-hero>a[href="#diagnose"] svg{transition:transform .6s var(--fx-ease)!important}
 .mi-header-nav>a,.mi-header-nav>button{transition:transform .6s var(--fx-ease),color .5s var(--fx-ease),background-color .5s var(--fx-ease),box-shadow .6s var(--fx-ease),filter .5s var(--fx-ease)!important}
 .mi-header-actions>a,.mi-language-button,.mi-site-overlay a,.mi-build-card>a,.mi-floating-actions>*{transition:transform .5s var(--fx-ease),box-shadow .6s var(--fx-ease),background .5s var(--fx-ease),background-color .5s var(--fx-ease),color .5s var(--fx-ease)!important}
 .mi-process li{transition:background .6s var(--fx-ease),box-shadow .6s var(--fx-ease)}
 #dc-root :is(.btn-primary,.mi-article-cta a,.mi-assistant-submit button[type=submit]){transition:background-color .5s var(--fx-ease),color .5s var(--fx-ease),box-shadow .6s var(--fx-ease),translate .6s var(--fx-ease)!important}
 #dc-root :is(.mi-glossary-directory,.mi-guide-directory,.mi-resource-controls) button{transition:background-color .5s var(--fx-ease),border-color .5s var(--fx-ease),color .5s var(--fx-ease)!important}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body.mi-board-ready #dc-root :is(.tile,.benefit):hover{translate:0 -5px}
}

/* ---------- one smooth hover speed everywhere (overrides the 0.16 to 0.3 s durations of older rules) ---------- */
@media (prefers-reduced-motion:no-preference){
 html body #dc-root :is(a,button,summary,label,input,select,textarea,[role=button],.tile,.benefit,.stab,.pin,.chip,.dchip,.card,.mi-process li):not(.fx):not(.fx-layer),
 html body #dc-root :is(.tile,.benefit,.stab,.pin,a,button)::after,
 html body #dc-root :is(.tile,.benefit,.stab,.pin,a,button)::before,
 html body #dc-root :is(a,button) :is(svg,span,i,img):not([data-fx-s]):not(.fx){
  transition-property:background-color,color,border-color,box-shadow,opacity,translate,transform,scale,filter,text-underline-offset!important;transition-duration:.6s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}
 html body .mi-global-header :is(a,button,span,svg,img),
 html body .mi-global-header :is(a,button)::after,
 html body .mi-global-header :is(a,button)::before{
  transition-property:background-color,color,border-color,box-shadow,opacity,translate,transform,scale,filter,text-underline-offset!important;transition-duration:.55s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}
}

/* ---------- map hotspots stay exactly where they are: colour and shadow only, no lift or shift ---------- */
html body #dc-root .hs,
html body #dc-root .hs:is(:hover,:focus-visible,:active){
 translate:none!important;transform:translate(-50%,-50%)!important;
 transition-property:background-color,color,border-color,box-shadow,opacity!important}

/* ---------- live filters (areas, glossary, guides): calm fades (0.35-0.4s), no lift ---------- */
html body #dc-root :is([class*=directory],[class*=mi-city-search],.mi-city-index,.mi-resource-controls) :is(a,button,input,select,div,span,li,summary):not(.fx):not(.fx-layer){
 transition-duration:.4s!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important;translate:none!important}
/* hundreds of place/term links: highlight instantly, letter and filter buttons get a very short fade */
html body #dc-root :is([class*=directory],[class*=mi-city-search],.mi-city-index) :is(a,li):not(.fx):not(.fx-layer):not(.x1):not(.x2){transition-duration:.4s!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}
html body #dc-root :is([class*=directory],[class*=mi-city-search],.mi-city-index) :is(button):not(.fx):not(.fx-layer):not(.x1):not(.x2){transition-duration:.35s!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}

/* the selected letter/filter keeps its look (and stays readable) while hovered or focused */
html body #dc-root :is([class*=directory],[class*=mi-city-search],.mi-city-index,.mi-resource-controls) button[aria-pressed="true"]:is(:hover,:focus,:focus-visible,:active){
 background:#173e55!important;background-color:#173e55!important;color:#fff!important;border-color:#173e55!important;box-shadow:none!important;translate:none!important}
html[data-mi-theme="dark"] body #dc-root :is([class*=directory],[class*=mi-city-search],.mi-city-index,.mi-resource-controls) button[aria-pressed="true"]:is(:hover,:focus,:focus-visible,:active){
 background:var(--mi-color-cyan,#82dced)!important;background-color:var(--mi-color-cyan,#82dced)!important;color:var(--mi-color-cyan-ink,#082333)!important;border-color:var(--mi-color-cyan,#82dced)!important}

/* ---------- header and footer: no fade, no reveal, calm hover (0.45s) ---------- */
html body .mi-global-header:not(.x1):not(.x2):not(.x3):not(.x4),html body .mi-global-header *:not(.x1):not(.x2):not(.x3):not(.x4),html body .mi-global-header *:not(.x1):not(.x2):not(.x3):not(.x4)::before,html body .mi-global-header *:not(.x1):not(.x2):not(.x3):not(.x4)::after,
html body #dc-root :is(footer,.mi-global-footer):not(.x1):not(.x2):not(.x3):not(.x4),html body #dc-root :is(footer,.mi-global-footer) *:not(.x1):not(.x2):not(.x3):not(.x4),html body #dc-root :is(footer,.mi-global-footer) *:not(.x1):not(.x2):not(.x3):not(.x4)::before,html body #dc-root :is(footer,.mi-global-footer) *:not(.x1):not(.x2):not(.x3):not(.x4)::after{
 transition-duration:.45s!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s!important;animation:none!important;translate:none!important}

/* ---------- services menu: headings and items share rows, so every column lines up and every item is the same height ---------- */
html body .mi-services-overlay{grid-template-rows:auto repeat(4,60px) auto!important;row-gap:0!important;align-items:start}
html body .mi-services-overlay>div:nth-child(-n+4){grid-row:1/span 5!important;display:grid!important;grid-template-rows:subgrid!important;row-gap:0!important}
html body .mi-services-overlay>div:nth-child(-n+4)>h2{align-self:end;margin:0!important;padding-bottom:14px}
html body .mi-services-overlay>div:nth-child(-n+4)>a{align-self:stretch;box-sizing:border-box;height:60px;min-height:60px!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center}
html body .mi-services-overlay>.mi-menu-contact-actions{grid-column:1/-1!important;grid-row:6!important;margin-top:22px}
@media (max-width:1100px){
 html body .mi-services-overlay{grid-template-rows:auto repeat(4,60px) auto repeat(4,60px) auto!important}
 html body .mi-services-overlay>div:nth-child(1){grid-column:1!important;grid-row:1/span 5!important}
 html body .mi-services-overlay>div:nth-child(2){grid-column:2!important;grid-row:1/span 5!important}
 html body .mi-services-overlay>div:nth-child(3){grid-column:1!important;grid-row:6/span 5!important}
 html body .mi-services-overlay>div:nth-child(4){grid-column:2!important;grid-row:6/span 5!important}
 html body .mi-services-overlay>div:nth-child(n+3)>h2{padding-top:22px}
 html body .mi-services-overlay>.mi-menu-contact-actions{grid-row:11!important}
}
@media (max-width:700px){
 html body .mi-services-overlay{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;row-gap:0!important}
 html body .mi-services-overlay>div:nth-child(-n+4){grid-column:1!important;grid-row:auto!important;display:block!important}
 html body .mi-services-overlay>div:nth-child(-n+4)>h2{padding:20px 0 12px}
 html body .mi-services-overlay>div:nth-child(1)>h2{padding-top:0}
 html body .mi-services-overlay>div:nth-child(-n+4)>a{width:100%}
 html body .mi-services-overlay>.mi-menu-contact-actions{grid-column:1!important;grid-row:auto!important;margin-top:20px;flex-wrap:wrap}
}

/* ---------- guided enquiry assistant on the category pages: same flow as the homepage assistant, category look ---------- */
html body #dc-root #assistant.mi-assistant-v2{margin:0!important;padding:0!important;background:transparent!important;color:#0c1f33!important;border-radius:0!important;box-shadow:none!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-inner{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);background:#fff!important;color:#0c1f33!important;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(12,31,51,.10);padding:0!important;max-width:none!important;margin:0!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-app{padding:clamp(22px,3.4vw,44px)!important;background:#fff;min-width:0}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside{background:#0c1f33;color:#edf5f7;padding:clamp(22px,3.4vw,44px);min-width:0}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside-title{display:flex;align-items:center;gap:12px;margin:0 0 22px!important;font:700 18px/1.3 Inter,system-ui,sans-serif!important;color:#fff!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside-title span{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#82dced;color:#082333;font-size:13px}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li{padding:16px 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:4px;opacity:.55}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li.done,html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li.now{opacity:1}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li b{font:600 14px/1.4 Inter,system-ui,sans-serif;color:#bfd2db!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li span{font:700 18px/1.35 Inter,system-ui,sans-serif;color:#fff!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside li.done span{color:#82dced!important}
@media (max-width:900px){html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-inner{grid-template-columns:minmax(0,1fr)!important}}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-progress{margin:0 0 14px!important;font:600 13px/1.2 'JetBrains Mono',ui-monospace,Menlo,monospace!important;letter-spacing:.08em!important;text-transform:uppercase;color:#08758d!important}
html body #dc-root #assistant.mi-assistant-v2 :is(h3,h4){font:700 clamp(22px,2.3vw,30px)/1.2 Inter,system-ui,sans-serif!important;color:#0c1f33!important;margin:0 0 20px!important;letter-spacing:-.01em}
html body #dc-root #assistant.mi-assistant-v2 h4{font-size:clamp(19px,1.8vw,24px)!important;margin:26px 0 14px!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options{display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button{display:flex!important;align-items:center;justify-content:space-between;gap:14px;min-height:64px!important;padding:12px 18px!important;border-radius:12px!important;border:2px solid rgba(12,31,51,.16)!important;background:#f7f5f0!important;color:#0c1f33!important;font:600 16px/1.3 Inter,system-ui,sans-serif!important;text-align:left;cursor:pointer;box-shadow:none!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button>span{color:#08758d!important;font-size:18px}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button:is(:hover,:focus-visible){border-color:#0c1f33!important;background:#fff!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button[aria-pressed="true"]{background:#0c1f33!important;border-color:#0c1f33!important;color:#fff!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-bottom{margin-top:22px}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-bottom button{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;color:#174f86!important;font:600 15px Inter,system-ui,sans-serif!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-assessment{color:#33475a!important;max-width:70ch;margin:0 0 18px!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-summary{display:grid;gap:8px;margin:0 0 8px!important;padding:0!important;list-style:none}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-summary li{display:flex!important;flex-direction:column;gap:2px;background:#f7f5f0!important;border-radius:12px;padding:12px 16px!important;border:0!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-summary b{color:#0c1f33!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-summary span{color:#33475a!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-message{grid-column:1/-1}
html body #dc-root #assistant.mi-assistant-v2 :is(label,.mi-contact-field,small){color:#0c1f33!important;font:600 14px/1.4 Inter,system-ui,sans-serif!important}
html body #dc-root #assistant.mi-assistant-v2 small{color:#526372!important;font-weight:400!important}
html body #dc-root #assistant.mi-assistant-v2 :is(input,select,textarea){background:#fff!important;color:#0c1f33!important;border:1.5px solid #b9c9d3!important;border-radius:10px!important;min-height:48px;padding:0 14px;font:400 16px Inter,system-ui,sans-serif!important}
html body #dc-root #assistant.mi-assistant-v2 textarea{padding:12px 14px;min-height:110px}
html body #dc-root #assistant.mi-assistant-v2 :is(input,select,textarea):focus{outline:3px solid #08758d;outline-offset:2px;border-color:#08758d!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-consent{display:flex;gap:10px;align-items:flex-start;grid-column:1/-1;margin-top:6px;font-weight:400!important;color:#33475a!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-consent input{min-height:0;width:20px;height:20px;margin-top:2px;accent-color:#0c1f33}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-submit{margin-top:18px}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-submit button{min-height:52px!important;padding:0 26px!important;border-radius:10px!important;border:0!important;background:#0c1f33!important;color:#fff!important;font:700 16px Inter,system-ui,sans-serif!important;cursor:pointer}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-submit button:hover{background:#08758d!important}
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-status{color:#33475a!important;margin:12px 0 0!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-inner{background:#173449!important;color:#e7f2f5!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 :is(h3,h4,label,.mi-contact-field,.mi-assistant-summary b){color:#e7f2f5!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 :is(.mi-assistant-assessment,.mi-assistant-summary span,.mi-assistant-status,.mi-assistant-consent,small){color:#bfd2db!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-progress{color:#88d9ec!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button{background:#0d2535!important;border-color:#36556a!important;color:#e7f2f5!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button:is(:hover,:focus-visible){background:#173449!important;border-color:#88d9ec!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button[aria-pressed="true"]{background:#82dced!important;color:#082333!important;border-color:#82dced!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-summary li{background:#0d2535!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 :is(input,select,textarea){background:#0d2535!important;color:#e7f2f5!important;border-color:#55758a!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-bottom button{color:#88d9ec!important}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-submit button{background:#82dced!important;color:#082333!important}
@media (max-width:700px){html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-fields{grid-template-columns:minmax(0,1fr)!important}html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options{grid-template-columns:minmax(0,1fr)!important}html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-options button{width:100%!important;min-width:0!important}}

html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-app{background:#173449}
html[data-mi-theme="dark"] body #dc-root #assistant.mi-assistant-v2 .mi-assistant-aside{background:#0a1c2a}

/* required-field markers on the contact form */
.mi-required-star{color:#08758d;font-weight:700}
.mi-required-note{margin:4px 0 0;font:500 14px/1.4 Inter,system-ui,sans-serif;color:#526372}
html[data-mi-theme="dark"] .mi-required-star{color:#88d9ec}
html[data-mi-theme="dark"] .mi-required-note{color:#bfd2db}

/* category-page assistant: no eyebrow labels */
html body #dc-root #assistant.mi-assistant-v2 .mi-assistant-progress{display:none!important}
html body #dc-root #assistant.mi-assistant-v2 :is(h3,h4){margin-top:0!important}

/* Service tiles: no zoom on hover or scroll. The image fades in from the side its tile sits on (tiles-130.js sets --tile-dx). */
#dc-root #services .tile img,#dc-root #services .tile:hover img,#dc-root #services .tile img[data-fx-s]{scale:1!important;transform:none!important}
html.fx-on #dc-root #services .tile>img.fx{opacity:0;translate:var(--tile-dx,-56px) 0;clip-path:none;transition:opacity .9s var(--fx-out) var(--fx-d,0s),translate .95s var(--fx-out) var(--fx-d,0s)!important}
html.fx-on #dc-root #services .tile>img.fx.fx-in{opacity:1;translate:0 0;clip-path:none}
