/* Shared contracts: saved palette/type, readable navigation, safe content rows. */
#site-theme-root#site-theme-root{font-family:var(--font-body,system-ui,sans-serif)!important}
#site-theme-root#site-theme-root :is(h1,h2,h3,h4,h5,h6,.slide-title,.section-title){font-family:var(--font-head,var(--font-body,system-ui,sans-serif))!important}
#site-theme-root#site-theme-root #header{background:var(--header-bg,#fff)!important;color:var(--header-text,#222)!important}
#site-theme-root#site-theme-root #header :is(.nav-link,.mobile-nav-link,.lang-toggle,.ddqs-trigger,.ddqs-trigger-mobile){font-family:var(--font-body,system-ui,sans-serif)!important}
#site-theme-root#site-theme-root #header .nav-desktop .nav-link{font-size:15px!important;line-height:1.4!important;min-height:44px;padding-block:12px!important;display:flex;align-items:center;gap:8px}
#site-theme-root#site-theme-root #header .nav-desktop .nav-list{align-items:center!important}
#site-theme-root#site-theme-root #header .nav-desktop{padding-block:7px!important}
/* Contrast changes the ink, never paints a block behind navigation text. */
#site-theme-root#site-theme-root #header [data-sp-nav-contrast]{color:var(--sp-nav-ink)!important;transition:color .18s ease!important}
#site-theme-root#site-theme-root #header [data-sp-nav-contrast]:is(:hover,:focus-visible,.active,[aria-current="page"]){color:var(--sp-nav-hover-ink)!important}
#site-theme-root#site-theme-root #header :is(.nav-link,.mobile-nav-link,.dropdown-link,.dropdown-menu a,.dropdown-menu-sub a,.mobile-dropdown-menu a){background:transparent!important;box-shadow:none!important;text-decoration:none!important;text-underline-offset:.45em;text-decoration-thickness:1.5px}
#site-theme-root#site-theme-root #header :is(.nav-link,.mobile-nav-link,.dropdown-link,.dropdown-menu a,.dropdown-menu-sub a,.mobile-dropdown-menu a):is(:hover,:focus-visible,.active,[aria-current="page"]){text-decoration-line:underline!important;text-decoration-color:currentColor!important}
#site-theme-root#site-theme-root #header .nav-link:not(.dropdown-toggle)::after{content:none!important}
#site-theme-root#site-theme-root #header .dropdown-toggle::after{background:transparent!important}
#site-theme-root#site-theme-root #header .nav-desktop>.nav-list>.nav-dropdown>.dropdown-toggle::after{content:""!important;position:static!important;width:6px!important;height:6px!important;flex:0 0 6px;box-sizing:border-box;border:0!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;transform:rotate(45deg)!important;translate:0 -2px;margin-left:4px;transition:transform .18s ease}
#site-theme-root#site-theme-root #header .nav-desktop>.nav-list>.nav-dropdown:is(:hover,:focus-within)>.dropdown-toggle::after{transform:rotate(225deg)!important;translate:0 1px}
#site-theme-root#site-theme-root #header [data-sp-nav-contrast]:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#site-theme-root#site-theme-root #header .nav-dropdown:focus-within>.dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
#site-theme-root#site-theme-root #header .mobile-nav-link{min-height:44px!important;line-height:1.4!important}
#site-theme-root#site-theme-root #hero-slider,#site-theme-root#site-theme-root #hero-slider .slider-container{border:0!important;outline:0;box-shadow:none!important}
#site-theme-root#site-theme-root #hero-slider::before,#site-theme-root#site-theme-root #hero-slider::after{border:0!important;outline:0}
#site-theme-root#site-theme-root #hero-slider{background:var(--site-bg)!important}
#site-theme-root#site-theme-root #hero-slider .slide-title{font-family:var(--font-head,var(--font-body,sans-serif))!important}
/* Once captions move below the photograph, their ink follows that surface. */
@media(max-width:600px){
 #site-theme-root#site-theme-root #hero-slider .sp-slider-copy>.slide-content :is(.slide-title,.slide-description){color:var(--sp-mobile-caption-ink,var(--site-text,#111))!important;text-shadow:none!important;-webkit-text-stroke:0!important}
}
#site-theme-root#site-theme-root .sp-mod-icon-row{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:start!important;gap:16px!important;margin:0!important}
#site-theme-root#site-theme-root .sp-mod-icon-row>.sp-mod-icon-copy{max-width:none!important;min-width:0!important}
#site-theme-root#site-theme-root .sp-mod-icon-row>.sp-mod-symbol{margin:0!important;width:40px!important;height:40px!important;line-height:1!important;overflow:hidden}
#site-theme-root#site-theme-root .sp-mod-icon-copy>strong{display:block!important;font-family:var(--font-head,var(--font-body,sans-serif));font-size:18px!important;line-height:1.4!important;margin:0 0 6px!important}
#site-theme-root#site-theme-root .sp-mod-icon-copy>span{display:block!important;line-height:1.7!important}
#site-theme-root#site-theme-root .page-banner[data-sp-cover="color"]{background:var(--banner)!important;color:var(--banner-text)!important}
#site-theme-root#site-theme-root .page-banner[data-sp-cover="color"]>div:not(.banner):not(.sp-theme-detail)>div{background:none!important;color:var(--banner-text)!important;border:0!important;box-shadow:none!important;padding-inline:0!important}
#site-theme-root#site-theme-root .page-banner[data-sp-cover="color"] :is(h1,nav,a,span){color:var(--banner-text)!important;text-shadow:none!important;-webkit-text-stroke:0!important}
#site-theme-root#site-theme-root .page-banner[data-sp-cover="color"] .banner{background:transparent!important}
#site-theme-root#site-theme-root .page-banner[data-sp-cover="color"] nav span{opacity:.8}
/* Decorations have a dedicated layer, never the editor's content or controls. */
#site-theme-root#site-theme-root .sp-theme-signature{position:absolute!important;pointer-events:none!important;overflow:hidden;inset:0;z-index:0!important;color:var(--primary-color);opacity:.1;padding:0!important;min-height:0!important;max-width:none!important;width:100%!important}
#site-theme-root#site-theme-root .sp-theme-signature svg{position:absolute;width:clamp(160px,24vw,360px);height:280px;right:-70px;top:16%;fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}
#site-theme-root#site-theme-root main>.section,#site-theme-root#site-theme-root main>div>.section{position:relative;isolation:isolate}
#site-theme-root#site-theme-root .section>.container{position:relative;z-index:1}
#site-theme-root#site-theme-root .page-banner>.sp-theme-signature{opacity:.2}
#site-theme-root#site-theme-root .page-banner>.sp-theme-signature svg{right:4%;top:0;width:40%;height:100%}
#site-theme-root#site-theme-root .section:nth-of-type(2n)>.sp-theme-signature svg{right:auto;left:-100px;transform:rotate(180deg)}
#site-theme-root#site-theme-root .sp-theme-edge{position:absolute!important;inset:auto -1px -1px!important;width:calc(100% + 2px)!important;height:clamp(26px,4vw,65px)!important;z-index:1!important;pointer-events:none;display:block;fill:var(--sp-banner-next-bg,var(--site-bg));stroke:none}
#site-theme-root#site-theme-root .footer>.sp-theme-edge{inset:auto -1px calc(100% - 1px)!important;transform:none!important;translate:none!important;fill:var(--footer)!important}
#site-theme-root#site-theme-root .footer:has(>.sp-theme-edge){position:relative;margin-top:clamp(26px,4vw,65px)!important}
#site-theme-root#site-theme-root .page-banner:has(>.sp-theme-edge)::after{content:none!important}
#site-theme-root#site-theme-root .footer:has(>.sp-theme-edge)::before,#site-theme-root#site-theme-root .footer:has(>.sp-theme-edge)::after{content:none!important}
#site-theme-root#site-theme-root:has(.footer>.sp-theme-edge) .section[data-footer-edge-source]::after{content:none!important}
/* Legacy service/product templates close the theme wrapper before the footer. */
.footer[data-sp-theme-footer]{position:relative!important;overflow:visible!important;margin-top:clamp(26px,4vw,65px)!important}
.footer[data-sp-theme-footer]>.sp-theme-edge{position:absolute!important;inset:auto -1px calc(100% - 1px)!important;width:calc(100% + 2px)!important;height:clamp(26px,4vw,65px)!important;z-index:1!important;pointer-events:none;display:block;fill:var(--footer)!important;stroke:none;transform:none!important}
.footer[data-sp-theme-footer]::before,.footer[data-sp-theme-footer]::after,#site-theme-root#site-theme-root[data-sp-footer-edge] .section[data-footer-edge-source]::after{content:none!important}
@media(max-width:1000px){#site-theme-root#site-theme-root #header .nav-desktop .nav-link{font-size:14px!important}}
@media(max-width:600px){
 #site-theme-root#site-theme-root .sp-mod-icon-row{gap:12px!important}
 #site-theme-root#site-theme-root .sp-mod-icon-copy>strong{font-size:17px!important}
 #site-theme-root#site-theme-root .sp-theme-signature{opacity:.055}
 #site-theme-root#site-theme-root .sp-theme-signature svg{right:-120px;width:200px}
 #site-theme-root#site-theme-root .page-banner>.sp-theme-signature{opacity:.13}
}
@media(prefers-reduced-motion:reduce){#site-theme-root#site-theme-root #header [data-sp-nav-contrast]{transition:none!important}}

#site-theme-root#site-theme-root main>.page-banner[data-sp-cover=color]>div:not(.banner):not(.sp-theme-detail):not(.sp-theme-signature){height:auto!important;min-height:inherit;padding-block:64px!important;justify-content:center!important}
