/* Local accessibility preferences and targeted WCAG repairs. No remote dependency. */
html{font-size:calc(100% * var(--mb-text-scale,1));scroll-padding-top:calc(var(--mb-header-height,104px) + 1rem)}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:8px;right:8px;z-index:110;background:#f8f5ff;color:#18121f;padding:12px 20px;border-radius:6px;transform:translateY(-160%);font-weight:700}
.skip-link:focus{transform:none}
:where(a,button,summary,input,select,textarea,video,[tabindex]):focus-visible{outline:3px solid #f8f5ff!important;outline-offset:3px;box-shadow:0 0 0 6px #18121f!important}
main:focus,section[tabindex="-1"]:focus{outline:none}
.gallery-drawer>summary:focus-visible{outline-offset:-5px;box-shadow:none!important}
:where(a,button,summary,video,[tabindex]){scroll-margin-block:calc(var(--mb-header-height,104px) + 1rem) 6rem}
.section{scroll-margin-top:0}
.statement-link{text-decoration:underline;text-underline-offset:.22em}
.mb-a11y-trigger{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:50;width:54px;min-height:54px;display:grid;place-items:center;border:2px solid #eadbff;border-radius:50%;background:#281b3e;color:#fff;box-shadow:0 3px 18px #0009;padding:9px}
.mb-a11y-trigger svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mb-a11y-dialog{position:fixed;inset:auto auto max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));margin:0;width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #bd8cff;border-radius:18px;background:#17111f;color:#f8f5ff;text-align:right;line-height:1.6;font-size:1rem}
.mb-a11y-dialog::backdrop{background:#06050899}
.mb-a11y-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mb-a11y-head h2{font:700 1.25rem/1.4 Arial,sans-serif;letter-spacing:0;margin:0}
.mb-a11y-dialog button{min-height:44px;padding:8px 12px;border:1px solid #ac8acd;border-radius:8px;color:#f8f5ff;background:#281d36;font-size:1rem;line-height:1.5;white-space:normal}
.mb-a11y-dialog button[aria-pressed="true"]{background:#ddbdff;color:#18121f;border-color:#ddbdff}
.mb-a11y-dialog button[aria-pressed="true"]::after{content:' ✓';font-weight:700}
.mb-a11y-dialog button:disabled{opacity:.65;cursor:default}
.mb-a11y-size{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.mb-a11y-options{display:grid;gap:10px}
.mb-a11y-dialog p{font-size:.875rem;color:#d9cee6;margin:10px 0}
.mb-a11y-dialog a{display:block;color:#dfbcff;text-decoration:underline;text-underline-offset:.2em;margin-top:14px}
.mb-a11y-head button{min-width:44px;font-size:1.25rem}
.mb-a11y-dialog output{display:block;text-align:center;margin:6px 0 12px;font-size:.9375rem}
html.mb-highlight-links a{text-decoration:underline!important;text-decoration-thickness:.12em!important;text-underline-offset:.22em!important}
html.mb-highlight-links a:has(img){outline:2px solid currentColor;outline-offset:3px}
/* High contrast is opt-in. Media pixels and brand assets remain untouched. */
html.mb-high-contrast,html.mb-high-contrast body,html.mb-high-contrast body :not(img):not(video):not(svg):not(path):not(circle):not(source){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important;-webkit-text-fill-color:currentColor!important}
html.mb-high-contrast a,html.mb-high-contrast a *{color:#ffeb70!important}
html.mb-high-contrast button[aria-pressed="true"]{background:#fff!important;color:#000!important}
html.mb-high-contrast .hero:after{background:#000!important}
html.mb-high-contrast .hero-visual{visibility:hidden}
html.mb-high-contrast :focus-visible{outline-color:#ffeb70!important}
html.mb-high-contrast .mb-a11y-dialog::backdrop{background:#000c}
html.mb-high-contrast body :not(img):not(video)::before,html.mb-high-contrast body :not(img):not(video)::after{background-image:none!important;text-shadow:none!important}
/* Prevent text enlargement, long labels and narrow screens from clipping content. */
.hero-copy,.about-copy,.contact-grid>div,.section-head>*{min-width:0}
h1,h2,h3,p,a,button,summary{overflow-wrap:break-word}
.nav .links{min-width:0;flex-wrap:wrap}.nav>.btn{flex-shrink:0}
.hero .eyebrow,.hero-bottom{flex-wrap:wrap}
.hero .eyebrow{row-gap:8px}
.hero .hero-copy{max-width:min(100%,810px)}
.hero-bottom{gap:12px;padding-left:64px}
.contact-actions .btn{white-space:normal}
.contact-actions bdi{white-space:normal}
.contact-grid>div{min-width:0}
.contact-grid{flex-wrap:wrap}
.footer{flex-wrap:wrap;padding-bottom:64px}
.gallery-drawer>summary{min-width:0}.drawer-copy{overflow-wrap:anywhere}
.mb-enlarged .nav>.btn{display:none}
.mb-enlarged .nav{flex-wrap:wrap}
.mb-enlarged .links{gap:12px 20px}
.mb-enlarged .hero h1{overflow-wrap:anywhere}
.mb-enlarged .hero{padding-bottom:140px}
.mb-enlarged .hero-bottom{position:static;margin-top:32px;padding-left:64px;max-width:100%}
.mb-enlarged .hero{display:block}
.mb-enlarged .gallery-drawer>summary{grid-template-columns:minmax(0,1fr) 48px}
.mb-enlarged .drawer-preview{display:none}
.mb-enlarged .service-grid,.mb-enlarged .steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.mb-enlarged .about-grid{grid-template-columns:1fr}
.motion-paused .hero h1 .accent{animation-play-state:paused}
@media(max-width:1100px){
 .nav{position:relative;flex-wrap:wrap;gap:12px}.menu{display:block;margin-inline-start:auto;border-color:#ac8acd;min-height:44px}
 .nav>.btn{display:none}.links{display:none;position:absolute;top:100%;left:-5.56%;right:-5.56%;padding:18px 5% 22px;flex-direction:column;align-items:stretch;gap:8px;background:#111014;border-bottom:1px solid #ac8acd;max-height:calc(100dvh - var(--mb-header-height,104px) - 1rem);overflow-y:auto}
 .links.open{display:flex}.links a{padding:8px 10px;min-height:44px}
}
@media(max-width:640px){
 .hero-bottom{padding-left:64px;letter-spacing:.1em}
 .hero h1{overflow-wrap:anywhere}
 .hero .whatsapp-cta{max-width:100%}
 .hero .phone-ltr{white-space:normal}
 .hero{padding-bottom:130px}
 .mb-enlarged .video-grid,.mb-enlarged .work-grid{grid-template-columns:1fr}
 .mb-enlarged .gallery-drawer>summary{padding:20px 16px;gap:12px}
 .mb-enlarged .gallery-content{padding:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.service:hover,.gallery-drawer:hover,.btn:hover,.gallery-drawer:hover .drawer-action{transform:none}}
@media(forced-colors:active){.hero-silver,.hero h1 .accent{-webkit-text-fill-color:CanvasText;background:none;color:CanvasText}.mb-a11y-trigger,button,a{forced-color-adjust:auto}.mb-a11y-dialog{border:2px solid CanvasText}}
@media print{.mb-a11y-trigger,.mb-a11y-dialog,.skip-link{display:none!important}}

.statement{max-width:900px;padding-block:56px 72px}.statement h1{font-size:clamp(2rem,5vw,3.5rem);overflow-wrap:anywhere}.statement h2{font-size:1.6rem;margin:2rem 0 1rem;line-height:1.4;letter-spacing:0}.statement p,.statement li,.statement dd{color:#d5cddd}.statement ul{padding-inline-start:1.4em}.statement li{margin-block:.6em}.statement a{color:#dfbcff;text-decoration:underline;text-underline-offset:.2em}.statement dt{font-weight:bold}.statement dd{margin:0 0 1rem}.mb-a11y-dialog button[aria-disabled="true"]{opacity:.65;cursor:default}
/* The original contact gradient's darkest endpoint and small text were below 4.5:1.
   Reuse the existing purple #9b6be8 and existing heading ink; worst-case text ratio 5.01:1. */
.contact{background:radial-gradient(ellipse at 70% 20%,#dabaff,#ad79ff 55%,#9b6be8)}
.contact p,.contact .eyebrow{color:#17101f!important}
.contact .btn.secondary{border-color:#17101f}
.statement h1{font-size:clamp(2rem,calc(5vw * var(--mb-text-scale,1)),3.5rem)}
html.mb-high-contrast .contact .eyebrow,html.mb-high-contrast .contact p{color:#fff!important}
