/* v33 · viewport, focus, accessible controls; identical in both packages */
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body.ha-enterprise{max-width:100%;min-width:0;overflow-x:clip}
.v23-main,.v32-trust-page main{max-width:100%;overflow-x:clip}
.v23-shell,.ent-shell{min-width:0}
.v23-main h1,.v23-main h2,.v23-main h3,.v32-trust-page h1,.v32-trust-page h2{overflow-wrap:anywhere;word-break:normal}
.v23-hero__grid>* , .v32-why__intro>*,.v32-flow__head>*,.v32-architecture__head>*,.v32-trust-home__grid>*,.v32-trust-hero__grid>*{min-width:0}
.ent-header__inner{min-width:0}
.ent-actions{flex-shrink:0}
.ent-menu{white-space:nowrap}
/* The vision assistance button remains visible on touch devices. */
.ent-a11y{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:44px;padding:0 10px;width:auto;height:44px;color:#11345b;background:#fff;border:2px solid #a8c4dd;border-radius:12px;font-size:14px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}
.ent-a11y:hover,.ent-a11y:focus-visible{background:#e6f4ff;border-color:#126cbb}
.ent-a11y .a11y-symbol{font-size:20px;letter-spacing:-.06em}
.ent-a11y .a11y-label{font-size:12px}
.ent-a11y[aria-expanded="true"]{background:#d8efff;border-color:#126cbb}
/* Use transforms instead of a right:-100% panel with a large offscreen shadow. */
#a11y-panel{position:fixed;top:0;right:0;left:auto;bottom:0;width:min(390px,100%);height:100dvh;max-width:100vw;overflow-y:auto;overflow-x:hidden;z-index:3000;background:#10263d;color:#fff;padding:28px 24px;transform:translateX(105%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:none;isolation:isolate}
#a11y-panel.is-open{right:0;transform:translateX(0);visibility:visible;pointer-events:auto;box-shadow:-12px 0 32px rgba(5,20,38,.18);transition:transform .2s ease,visibility 0s}
#a11y-panel .a11y-option-title,#a11y-panel .a11y-panel-title{color:#fff}
#a11y-panel .a11y-option-desc{color:#c8d9e8}
#a11y-panel .a11y-close{color:#fff;border-color:#87b6d8;cursor:pointer}
/* Switch controls visibly respond to their actual checkbox state. */
#a11y-panel .a11y-toggle{cursor:pointer}
body.a11y-high-contrast{filter:none!important}
body.a11y-high-contrast .v23-main,body.a11y-high-contrast .v32-trust-page main{--ha-text:#14283d;--ha-muted:#253b51;--ha-line:#687e93}
body.a11y-high-contrast .v23-main p,body.a11y-high-contrast .v23-main small,body.a11y-high-contrast .v32-trust-page p{color:#102d48!important;opacity:1!important}
body.a11y-high-contrast .v32-flow p,body.a11y-high-contrast .v32-review li,body.a11y-high-contrast .v23-experience p{color:#fff!important}
body.a11y-high-contrast a:focus-visible,body.a11y-high-contrast button:focus-visible{outline:3px solid #fbbe31;outline-offset:3px}
body.a11y-large-text{font-size:19px}
body.a11y-large-text .v23-main p,body.a11y-large-text .v32-trust-page p,body.a11y-large-text .v23-main li,body.a11y-large-text .v32-trust-page li{font-size:max(19px,1.12em)!important;line-height:1.7!important}
body.a11y-large-text .ent-nav a{font-size:16px!important}
body.a11y-large-text .v23-main h1{font-size:clamp(35px,9vw,69px)}
body.a11y-large-text .v23-main h2{font-size:clamp(29px,7vw,49px)}
body.a11y-reduce-motion *,body.a11y-reduce-motion *::before,body.a11y-reduce-motion *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(max-width:980px){.ent-a11y{display:inline-flex!important}}
@media(max-width:720px){
 .ent-header__inner{width:calc(100% - 24px);gap:8px;height:76px}
 .ent-brand{width:clamp(130px,38vw,190px);flex-basis:clamp(130px,38vw,190px);flex-shrink:1;min-width:0}
 .ent-actions{margin-left:0;gap:6px}
 .ent-menu{margin-left:auto;min-width:44px;min-height:44px;padding:0 12px;font-size:13px}
 .v23-lang summary{min-width:48px;min-height:44px;padding:0 8px}
 .ent-a11y{min-width:44px;min-height:44px;padding:0 7px}
 .ent-a11y .a11y-label{display:none}
 .v23-hero__grid{grid-template-columns:minmax(0,1fr)!important;gap:20px}
 .v23-main h1{font-size:clamp(34px,9vw,46px);line-height:1.09;letter-spacing:-.03em}
 .v23-main h2{font-size:clamp(28px,7.4vw,37px)}
 .v23-main .v23-lead{font-size:clamp(16px,4.25vw,19px)!important}
 .v23-actions .v23-btn{max-width:100%;white-space:normal;text-align:center}
 .v32-flow__shell,.v32-flow__head,.v32-why__intro,.v32-architecture__head,.v32-trust-home__grid,.v32-trust-hero__grid{grid-template-columns:minmax(0,1fr)}
 .v32-flow__steps,.v32-why__grid,.v32-trust-grid{grid-template-columns:minmax(0,1fr)}
 .v32-flow__step{max-width:100%}
 .v32-flow__panel h3{overflow-wrap:anywhere}
 #a11y-panel{width:100%;padding:25px 20px}
}
@media(max-width:380px){
 .ent-header__inner{gap:5px;width:calc(100% - 16px)}
 .ent-brand{width:clamp(112px,35vw,150px);flex-basis:clamp(112px,35vw,150px)}
 .ent-menu{padding:0 8px;font-size:12px}
 .ent-a11y{padding:0 5px}
 .v23-lang summary{padding:0 6px}
}
@media(prefers-reduced-motion:reduce){#a11y-panel{transition:none!important}}
