/* Shared presentation tokens. Native content, uploaded media and account state are untouched. */
body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell {
 --bs-primary:var(--hm-purple);--bs-primary-rgb:var(--hm-primary-rgb);--bs-primary-bg-subtle:var(--hm-primary-soft);--bs-primary-border-subtle:var(--hm-primary-border);--bs-primary-text-emphasis:var(--hm-primary-text);
 --wstyle-primary-rgb:var(--hm-primary-rgb);
 --wstyle-primary-hover:color-mix(in srgb,var(--hm-purple) 81.41%,black);--wstyle-primary-active:color-mix(in srgb,var(--hm-purple) 69.42%,black);--wstyle-primary-emphasis:color-mix(in srgb,var(--hm-purple) 77.27%,black);
 --bs-secondary:var(--hm-violet);--bs-secondary-rgb:var(--hm-accent-rgb);--bs-heading-color:var(--hm-ink);--bs-focus-ring-color:rgba(var(--hm-primary-rgb),.15);
 --wstyle-secondary-rgb:var(--hm-accent-rgb);
 --wstyle-primary-text:var(--hm-primary-text);
 --wstyle-primary-subtle:var(--hm-primary-soft);
 --wstyle-on-primary:var(--hm-primary-foreground);
 --wstyle-secondary-text:var(--hm-accent-text);
 --wstyle-secondary-subtle:var(--hm-accent-soft);
 --bs-link-color:var(--hm-primary-text);
 --bs-link-hover-color:var(--hm-primary-hover);
 --bs-link-color-rgb:var(--hm-primary-rgb);
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) :is(.btn-primary,.hm-account-button,.cookie-accept-all){
 --bs-btn-color:var(--hm-primary-foreground);--bs-btn-bg:var(--hm-purple);--bs-btn-border-color:var(--hm-purple);
 --bs-btn-hover-color:var(--hm-primary-hover-foreground);--bs-btn-hover-bg:var(--hm-primary-hover);--bs-btn-hover-border-color:var(--hm-primary-hover);
 --bs-btn-focus-shadow-rgb:var(--hm-primary-rgb);--bs-btn-active-color:var(--hm-primary-hover-foreground);--bs-btn-active-bg:var(--hm-primary-hover);--bs-btn-active-border-color:var(--hm-primary-hover);--bs-btn-disabled-color:var(--hm-primary-foreground);--bs-btn-disabled-bg:var(--hm-purple);--bs-btn-disabled-border-color:var(--hm-purple);
 color:var(--hm-primary-foreground)!important;background-color:var(--hm-purple);border-color:var(--hm-purple);
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) :is(.btn-primary,.hm-account-button):hover{
 color:var(--hm-primary-hover-foreground)!important;background:var(--hm-primary-hover)!important;border-color:var(--hm-primary-hover)!important;
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) .btn-secondary{
 --bs-btn-color:var(--hm-accent-foreground);--bs-btn-bg:var(--hm-violet);--bs-btn-border-color:var(--hm-violet);
 --bs-btn-hover-color:var(--hm-accent-hover-foreground);--bs-btn-hover-bg:var(--hm-accent-hover);--bs-btn-hover-border-color:var(--hm-accent-hover);
 --bs-btn-active-color:var(--hm-accent-hover-foreground);--bs-btn-active-bg:var(--hm-accent-hover);--bs-btn-active-border-color:var(--hm-accent-hover);
 --bs-btn-disabled-color:var(--hm-accent-foreground);--bs-btn-disabled-bg:var(--hm-violet);--bs-btn-disabled-border-color:var(--hm-violet);
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) .btn-outline-primary{
 --bs-btn-color:var(--hm-primary-text);--bs-btn-border-color:var(--hm-purple);--bs-btn-hover-color:var(--hm-primary-foreground);--bs-btn-hover-bg:var(--hm-purple);--bs-btn-hover-border-color:var(--hm-purple);--bs-btn-active-color:var(--hm-primary-foreground);--bs-btn-active-bg:var(--hm-purple);--bs-btn-active-border-color:var(--hm-purple);--bs-btn-disabled-color:var(--hm-primary-text);--bs-btn-disabled-border-color:var(--hm-purple);
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) .btn-outline-secondary{
 --bs-btn-color:var(--hm-accent-text);--bs-btn-border-color:var(--hm-violet);--bs-btn-hover-color:var(--hm-accent-foreground);--bs-btn-hover-bg:var(--hm-violet);--bs-btn-hover-border-color:var(--hm-violet);--bs-btn-active-color:var(--hm-accent-foreground);--bs-btn-active-bg:var(--hm-violet);--bs-btn-active-border-color:var(--hm-violet);--bs-btn-disabled-color:var(--hm-accent-text);--bs-btn-disabled-border-color:var(--hm-violet);
}
body.hm-public .hm-btn-primary{color:var(--hm-accent-foreground);background:var(--hm-violet)}
body.hm-public .hm-btn-primary:hover{color:var(--hm-accent-hover-foreground);background:var(--hm-accent-hover)}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--hm-purple)}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) :is(.hm-hero-copy em,.hm-slide-title em){background-image:linear-gradient(120deg,var(--hm-primary-text),var(--hm-accent-text))}
/* Only the theme's built-in artwork is recoloured. Customer logos/uploads are excluded. */
:is(body.hm-public,.hm-site-shell) :is(.hm-slide-illustration,.hm-mega-image-theme,.hm-built-in-illustration){filter:hue-rotate(var(--hm-illustration-rotation,0deg))}
body.hm-public .hm-cta,body.hm-public .hm-page-hero{background:linear-gradient(120deg,var(--hm-navy),var(--hm-brand-dark-surface));color:var(--hm-brand-dark-text)}
body.hm-public .hm-section-dark{background:var(--hm-navy);color:var(--hm-brand-dark-text)}
body.hm-public :is(.hm-cta,.hm-page-hero,.hm-section-dark) :is(h1,h2,h3,h4,p,small){color:inherit}
body.hm-public :is(.hm-cta,.hm-page-hero,.hm-section-dark) .hm-eyebrow{color:var(--hm-primary-on-dark)}
body.hm-public :is(.hm-cta,.hm-page-hero,.hm-section-dark) .hm-btn-light{color:var(--hm-primary-text);background:#fff}
html[data-hm-theme=dark] :is(body.hm-public,body.hm-auth,body.checkout-shell){--wstyle-primary-text:var(--hm-primary-on-dark);--bs-link-color:var(--hm-primary-on-dark)}
html[data-hm-theme=dark] :is(body.hm-public,body.hm-auth,body.checkout-shell) .hm-appearance-menu .dropdown-item:is(.active,:hover){color:var(--hm-primary-on-dark);background:var(--hm-brand-dark-surface)}
/* The featured tile has a dark surface in both appearance modes. */
html body.hm-public .hm-service-card:first-child{background:linear-gradient(140deg,var(--hm-navy),var(--hm-brand-dark-surface))!important;color:var(--hm-brand-dark-text)}
html body.hm-public .hm-service-card:first-child :is(h2,h3,h4,p,small){color:inherit!important}
html body.hm-public .hm-service-card:first-child a{color:var(--hm-primary-on-dark)!important}
html[data-hm-theme=dark] :is(body.hm-public,body.hm-auth,body.checkout-shell){
 --hm-ink:var(--hm-heading-on-dark);--hm-muted:var(--hm-dark-muted);--hm-soft:var(--hm-dark-surface);
 --wstyle-body-bg:var(--hm-navy);--wstyle-surface-bg:var(--hm-dark-surface);--wstyle-heading-color:var(--hm-heading-on-dark);
 --wstyle-body-color:var(--hm-dark-text);--wstyle-muted-color:var(--hm-dark-muted);--wstyle-border-color:var(--hm-dark-border);
 --bs-body-bg:var(--hm-navy);--bs-body-color:var(--hm-dark-text);--bs-heading-color:var(--hm-heading-on-dark);--bs-secondary-color:var(--hm-dark-muted);
 background-color:var(--hm-navy);color:var(--hm-dark-text);
}
:is(body.hm-public,body.hm-auth,body.checkout-shell,.hm-site-shell) .nav-pills{--bs-nav-pills-link-active-bg:var(--hm-purple);--bs-nav-pills-link-active-color:var(--hm-primary-foreground)}
html[data-hm-theme=dark] body.hm-public .nav-pills .nav-link.active{color:var(--hm-primary-foreground)!important}
:is(body.hm-public,.hm-site-shell) .footer-appearance-btn.active{background:var(--hm-purple)!important;color:var(--hm-primary-foreground)!important}

/* Embedded catalog controls share one surface; standalone comparison banners keep theirs. */
html body.hm-public .hm-catalog-controls :is(.hm-compare-bar,.hm-billing-bar){background:transparent!important;box-shadow:none}
html body.hm-public .hm-catalog-controls .hm-compare-bar{border:0;border-radius:0;margin:0;padding:0;min-width:0}
html body.hm-public .hm-catalog-controls .hm-compare-bar strong{margin-bottom:0}
html body.hm-public .hm-catalog-controls .hm-compare-launch{min-height:44px!important}
html body.hm-public .hm-catalog-controls .billing-toggle .billing-option{min-height:44px!important}
html body.hm-public .hm-catalog-controls .billing-toggle .billing-option.active{background:var(--hm-purple)!important;border-color:var(--hm-purple)!important;color:var(--hm-primary-foreground)!important;box-shadow:none}
html body.hm-public .hm-catalog-controls .billing-toggle .billing-option.active:hover{background:var(--hm-primary-hover)!important;border-color:var(--hm-primary-hover)!important;color:var(--hm-primary-hover-foreground)!important}
html[data-hm-theme=dark] body.hm-public .hm-catalog-controls{border-color:var(--hm-dark-border)}
html[data-hm-theme=dark] body.hm-public .hm-catalog-controls .hm-compare-bar strong{color:var(--hm-dark-text)}
@media(max-width:1199px){html[data-hm-theme] body.hm-public .hm-catalog-controls .hm-billing-bar{border-left:0;border-right:0}}

/* Readability verified across the public sitemap, auth screens and both appearances. */
html body.hm-public .sw-count{color:var(--hm-ink)}
html body.hm-public .hm-legal-card small{font-size:12px;color:var(--hm-ink);line-height:1.8}
html body.hm-public .hm-legal-tools button{font-family:inherit;font-size:12px;font-weight:600;min-height:44px}
html:not([data-hm-theme=dark]) body.hm-auth :is(.text-body-secondary,.text-muted,.form-text){color:#606d85!important}
html:not([data-hm-theme=dark]) :is(body.hm-public,body.hm-auth,body.checkout-shell) :is(input,textarea)::placeholder{color:#606d85;opacity:1}
html[data-hm-theme=dark] :is(body.hm-public,body.hm-auth,body.checkout-shell) :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--hm-dark-muted) 72%,var(--hm-dark-surface));opacity:1}
html body.hm-public :is(.hm-comparison-total,.hm-price-dialog-note){color:var(--hm-ink)!important;font-size:12px}
html body.hm-public :is(.hm-feature-modal-tagline,.hm-price-modal .plan-billing-table th){color:var(--hm-ink)!important;font-size:12px}
@media screen{
 html[data-hm-theme=dark] body.checkout-shell .checkout-step.is-done{color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public :is(.hm-comparison-price,.hm-comparison-select){color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public .hm-package-compare thead th.hm-ux-col-popular .hm-comparison-price{color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public .hm-comparison-select{border-color:var(--hm-primary-on-dark)}
 html[data-hm-theme=dark] body.hm-public .hm-comparison-select:hover{color:var(--hm-primary-foreground)!important;background:var(--hm-purple)}
 html[data-hm-theme=dark] body.hm-public :is(.eyebrow,.hm-editorial-action,.hm-card-link,.drawer-link[aria-expanded=true]){color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public .badge.blog-cat-badge{color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text));background:var(--hm-dark-surface)}
 html[data-hm-theme=dark] body.hm-public .badge.bg-secondary-subtle{background:var(--hm-dark-surface)!important;color:var(--hm-dark-text)!important}
 html[data-hm-theme=dark] body.hm-public .badge.bg-primary-subtle{background:var(--hm-dark-surface)!important;color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public :is(.kb-prose,.ref-prose) a:not(.btn):not(.hm-btn){color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))!important}
 html[data-hm-theme=dark] body.hm-public :is(.kb-prose,.ref-prose) a:not(.btn):not(.hm-btn):hover{color:var(--hm-dark-text)!important}
 html[data-hm-theme=dark] body.hm-public .hm-legal-tools button{color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text));background:var(--hm-dark-surface);border-color:var(--hm-dark-border)}
 html[data-hm-theme=dark] body.hm-public .hm-legal-tools button:hover{background:var(--hm-navy)}
 html[data-hm-theme=dark] body.hm-public .hm-legal-document :is(blockquote,.hm-legal-note,.hm-legal-identity){background:var(--hm-dark-surface)!important;border-color:var(--hm-dark-border)!important;color:var(--hm-dark-text)}
 html[data-hm-theme=dark] body.hm-public .hm-legal-document th{background:var(--hm-dark-surface)!important;color:var(--hm-heading-on-dark)!important}
 html[data-hm-theme=dark] body.hm-public .hm-legal-card small{color:var(--hm-dark-muted)}
}

/* One heading treatment for H1 and all following H2 slides. */
body.hm-public #heroSlider .hm-hero-copy :is(h1,h2) em{background:none!important;background-clip:border-box!important;-webkit-background-clip:border-box!important;-webkit-text-fill-color:currentColor;color:var(--hm-accent-text,var(--hm-violet));font-style:normal}
/* Stable hero stage; sequential opacity transitions never translate or overlap slides. */
body.hm-public #heroSlider[data-hm-slider]{touch-action:pan-y}
body.hm-public #heroSlider[data-hm-slider]>.carousel-inner{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
body.hm-public #heroSlider[data-hm-slider]>.carousel-inner>.carousel-item{grid-area:1/1;display:block;float:none;width:100%;margin-inline-end:0;visibility:hidden;opacity:0;pointer-events:none;transform:none!important;translate:none!important;transition:none!important}
body.hm-public #heroSlider[data-hm-slider]>.carousel-inner>.carousel-item.active{visibility:visible;opacity:1;pointer-events:auto}
body.hm-public #heroSlider [data-hm-slider-controls][hidden],body.hm-public #heroSlider [data-hm-slider-pause][hidden]{display:none!important}
body.hm-public #heroSlider .hm-hero-copy{align-self:center}
@media(min-width:992px){body.hm-public #heroSlider .hm-hero-copy>p{min-height:5.4em}body.hm-public #heroSlider .hm-hero-copy .hm-actions{min-height:58px}}
/* A single menu tree, with native keyboard-accessible expansion at every mobile depth. */
body.hm-public .hm-mobile-group{border:0;margin:0;padding:0;min-width:0}
body.hm-public .hm-mobile-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:48px;width:100%;margin:0}
body.hm-public .hm-mobile-group>summary::-webkit-details-marker{display:none}
body.hm-public .hm-mobile-group>summary::marker{content:''}
body.hm-public .hm-mobile-group>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
body.hm-public .hm-mobile-group>summary>.drawer-caret{margin-inline-start:auto;transition:transform .18s ease}
body.hm-public .hm-mobile-group[open]>summary>.drawer-caret{transform:rotate(180deg)}
body.hm-public .hm-mobile-group[open]>summary{color:var(--hm-primary-text)}
body.hm-public .hm-mobile-group>.drawer-sub{display:grid;gap:3px;margin:0 0 8px;padding:4px 0 5px 14px;border-inline-start:1px solid var(--hm-primary-border)}
body.hm-public .hm-mobile-group .drawer-sublink{min-height:44px;overflow-wrap:anywhere}
body.hm-public .hm-mobile-group .hm-mobile-group>summary{font-size:14px;padding-inline:10px}
body.hm-public .hm-drawer-parent{font-size:12px;font-weight:600;color:var(--hm-primary-text)}
html[data-hm-theme=dark] body.hm-public .hm-mobile-group[open]>summary,html[data-hm-theme=dark] body.hm-public .hm-drawer-parent{color:var(--hm-primary-on-dark)}
@media(prefers-reduced-motion:reduce){body.hm-public .hm-mobile-group>summary>.drawer-caret{transition:none}}
/* Keep monochrome partner marks legible on the dark platform cards. */
html body.hm-public[data-hm-mobile-plans=swipe] .hm-mobile-plans-hint {font-size:12px}
html:not([data-bs-theme="dark"]) body.hm-public[data-hm-mobile-plans=swipe] .hm-mobile-plans-hint {color:#5f6b82}
html[data-bs-theme="dark"] body.hm-public .hm-platform-marquee .hm-platform-card img {
 filter:grayscale(1) brightness(0) invert(1);opacity:.82;
}
html[data-bs-theme="dark"] body.hm-public .hm-platform-marquee .hm-platform-card:is(:hover,:focus-within) img {
 filter:grayscale(1) brightness(0) invert(1);opacity:1;
}
/* Third-party launchers must not cover dialog controls or navigation drawers. */
body.modal-open #hostimor-livechat,
body:has(dialog[open],.offcanvas.show) #hostimor-livechat {
 visibility:hidden!important;pointer-events:none!important;
}
/* Dark appearance: soft surfaces (soft buttons, selected option cards, icon discs, subtle badges) and
   emphasis text derive from the dark palette. The palette tokens above are light-surface values. */
html[data-hm-theme=dark] body.checkout-shell,html[data-bs-theme=dark] .hm-site-shell{
 --wstyle-primary-subtle:color-mix(in srgb,var(--hm-purple) 26%,var(--hm-dark-surface));
 --wstyle-secondary-subtle:color-mix(in srgb,var(--hm-violet) 26%,var(--hm-dark-surface));
 --bs-primary-bg-subtle:color-mix(in srgb,var(--hm-purple) 26%,var(--hm-dark-surface));
 --bs-primary-border-subtle:color-mix(in srgb,var(--hm-purple) 50%,var(--hm-dark-surface));
 --bs-primary-text-emphasis:var(--hm-primary-on-dark);
}
html[data-hm-theme=dark] :is(body.hm-public,body.hm-auth,body.checkout-shell),html[data-bs-theme=dark] .hm-site-shell{--wstyle-primary-emphasis:var(--hm-primary-on-dark)}
html[data-hm-theme=dark] body.hm-public .hm-special-faq details[open]>summary,
html[data-hm-theme=dark] :is(body.hm-contact,body.hm-public .hm-contact) .contact-method-value{color:color-mix(in srgb,var(--hm-primary-on-dark) 75%,var(--hm-brand-dark-text))}
