/* MAYGPM accessibility controls: local preferences, no layout-altering filters. */
body.a11y-panel-open{overflow:hidden}
#accessibility-trigger{position:fixed;left:22px;bottom:22px;z-index:46;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:54px;min-height:54px;padding:11px 17px;border:1px solid #e5ce94;border-radius:999px;background:#082b40;color:#fff;font:500 14px/1.3 var(--sans,Arial,sans-serif);box-shadow:0 5px 24px #061d2b40;cursor:pointer;direction:rtl}
#accessibility-trigger>svg{width:29px;height:29px;flex-shrink:0;color:#e5ce94}
#accessibility-trigger:hover{background:#16445f}
#accessibility-trigger:focus-visible{outline:3px solid #c9a65a;outline-offset:4px;box-shadow:0 0 0 7px #fff}
.dialog-open #accessibility-trigger{visibility:hidden}
#accessibility-dialog{position:fixed;inset:auto auto 88px 22px;margin:0;width:360px;max-width:calc(100vw - 44px);max-height:calc(100vh - 116px);max-height:calc(100dvh - 116px);padding:24px;border:1px solid #d6dace;border-top:3px solid #c9a65a;border-radius:16px;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#082b40;box-shadow:0 20px 70px #061d2b40;font:400 15px/1.6 var(--sans,Arial,sans-serif);text-align:right;scrollbar-gutter:stable;direction:rtl}
#accessibility-dialog::backdrop{background:#061d2b66}
#accessibility-dialog:not([open]){display:none}
#accessibility-dialog *{box-sizing:border-box}
#accessibility-dialog .a11y-panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px}
#accessibility-dialog .a11y-eyebrow{display:block;font:600 10px/1.3 var(--latin,Arial,sans-serif);letter-spacing:.12em;color:#78602d;margin-bottom:6px}
#accessibility-dialog h2{font-size:23px;line-height:1.35;font-weight:600;margin:0}
#accessibility-dialog .a11y-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:#f0f2ee;color:#082b40;border:1px solid #d9dedc;border-radius:50%;padding:10px}
#accessibility-dialog .a11y-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
#accessibility-dialog .a11y-intro{margin:14px 0 21px;font-size:14px;line-height:1.6;color:#506570;font-weight:400}
#accessibility-dialog .a11y-font-field{margin:0 0 18px;padding:0;border:0;min-width:0}
#accessibility-dialog legend{display:block;font-size:14px;font-weight:500;padding:0;margin-bottom:9px}
#accessibility-dialog .a11y-font-controls{display:grid;grid-template-columns:52px 1fr 52px;direction:ltr;gap:8px;align-items:center;padding:6px;background:#f6f4ee;border-radius:10px}
#accessibility-dialog .a11y-font-controls button{height:44px;min-width:44px;border:1px solid #c5cecf;border-radius:7px;background:#fff;color:#082b40;font:600 18px/1 var(--latin,Arial,sans-serif);padding:8px}
#accessibility-dialog .a11y-font-controls output{font:600 16px/1.3 var(--latin,Arial,sans-serif);text-align:center;display:block}
#accessibility-dialog .a11y-options{display:grid;gap:8px}
#accessibility-dialog .a11y-option{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:52px;padding:12px 13px;border:1px solid #bdc9ce;border-radius:9px;background:#fff;color:#082b40;font:500 14px/1.5 var(--sans,Arial,sans-serif);text-align:right}
#accessibility-dialog .a11y-toggle-state{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:500;min-width:42px;padding:3px 5px;border-radius:5px;background:#edf0ed;color:#506570}
#accessibility-dialog .a11y-option[aria-pressed=true]{border-color:#082b40;background:#eaf0f2}
#accessibility-dialog .a11y-option[aria-pressed=true] .a11y-toggle-state{background:#082b40;color:#fff}
#accessibility-dialog button:hover:not(:disabled){border-color:#806127}
#accessibility-dialog button:disabled{opacity:.55;cursor:not-allowed}
#accessibility-dialog #a11y-motion:disabled{opacity:1;cursor:default}
#accessibility-dialog .a11y-note{font:400 12px/1.65 var(--sans,Arial,sans-serif);color:#506570;margin:10px 0 17px}
#accessibility-dialog .a11y-reset{display:block;width:100%;min-height:44px;background:#082b40;color:#fff;border:1px solid #082b40;border-radius:8px;padding:10px 16px;font:500 14px/1.4 var(--sans,Arial,sans-serif)}
#accessibility-dialog .a11y-storage-note{font:400 11px/1.7 var(--sans,Arial,sans-serif);color:#506570;margin:14px 0}
#accessibility-dialog .a11y-panel-footer{border-top:1px solid #d9dedc;padding-top:11px}
#accessibility-dialog .a11y-panel-footer a{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#082b40}
#accessibility-dialog :focus-visible{outline:3px solid #997323;outline-offset:3px}
#accessibility-dialog .a11y-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.a11y-underline body a{text-decoration:underline!important;text-underline-offset:.2em;text-decoration-thickness:.1em}
.a11y-underline body .brand{text-decoration:none!important}
.a11y-text-large .hero h1,.a11y-text-large .service-hero h1,.a11y-text-large .section-heading h2,.a11y-text-large .legal-page h1{overflow-wrap:break-word}
.a11y-text-large .header-inner{flex-wrap:wrap;min-height:100px;padding-block:12px;height:auto}
.a11y-text-large .site-header{height:auto}
.a11y-text-large .site-header nav{flex-wrap:wrap;row-gap:4px}
.a11y-text-large .hero-actions,.a11y-text-large .footer-bottom{flex-wrap:wrap}
.a11y-text-large .field-grid,.a11y-text-large .contact-grid,.a11y-text-large .project-grid,.a11y-text-large .service-points{min-width:0}
.a11y-text-large .field-grid>*{min-width:0}
.a11y-text-large .footer-links{flex-wrap:wrap}
.a11y-text-large :where(.sector-trigger,.sector-strip a,.other-sectors a){overflow-wrap:anywhere}
.a11y-text-large .sector-visual{min-height:465px}
.a11y-text-large .visual-label{bottom:100px;gap:12px}
.a11y-text-large .sector-visual>span:last-child{max-width:80%}
/* Real foreground/background pairs, preserving images and native dialog stacking. */
html.a11y-contrast{--ink:#fff;--deep:#08131a;--gold:#ffe49a;--gold-light:#ffe49a;--paper:#08131a;--white:#08131a;--muted:#fff;--line:#fff}
.a11y-contrast body,.a11y-contrast :is(.site-header,main,.site-footer,.section,.sector-strip,.vision-band,.service-feature,.service-cta,.other-sectors,.dropdown-menu,.inquiry-form,.inquiry-result,.project-dialog,.legal-index){background:#08131a!important;color:#fff!important}
.a11y-contrast :is(.site-header,main,.site-footer,.project-dialog) :where(h1,h2,h3,h4,p,span,b,bdi,strong,small,label,li,dt,dd,pre,summary){color:#fff!important;text-shadow:none!important}
.a11y-contrast :is(.site-header,main,.site-footer,.project-dialog) :where(a,button){color:#ffe49a!important}
.a11y-contrast :is(.site-header,main,.site-footer,.project-dialog) :where(button,.button,.header-cta,.circle-link,input,textarea,select,option,pre){background:#08131a!important;color:#fff!important;border-color:#fff!important}
.a11y-contrast input::placeholder,.a11y-contrast textarea::placeholder{color:#ddd!important;opacity:1}
.a11y-contrast :is(.site-header,main,.site-footer,.project-dialog) :where(a,button,input,select,textarea):focus-visible{outline:3px solid #ffe49a!important;outline-offset:4px}
.a11y-contrast .hero-shade,.a11y-contrast .service-hero-image>div{background:#08131aeb!important}
.a11y-contrast .visual-overlay{background:linear-gradient(0deg,#08131a 0%,#08131af2 35%,#08131a44 70%)!important}
.a11y-contrast .image-tag,.a11y-contrast .image-open{background:#08131a!important;color:#fff!important}
.a11y-contrast .brand img{mix-blend-mode:normal;background:#fff}
.a11y-contrast .menu-toggle>span{background:#fff!important}
.a11y-contrast .sector-visual>span:last-child{background:#08131a;padding:4px}
.a11y-contrast :is(.project-caption,.sector-item,.principles-grid article,.service-points article,.faq-list details,.footer-bottom){border-color:#fff!important}
.a11y-contrast .site-header #main-nav{background:#08131a!important}
.a11y-contrast .hero-route{opacity:.2}
@media(max-width:850px){.a11y-text-large .header-inner{min-height:82px}.a11y-text-large .site-header #main-nav{top:100%}}
@media(max-width:600px){
  #accessibility-trigger{left:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:50px;padding:10px 14px;gap:7px;font-size:13px}
  #accessibility-trigger>svg{width:26px;height:26px}
  #accessibility-dialog{left:12px;bottom:calc(74px + env(safe-area-inset-bottom));width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 98px);max-height:calc(100dvh - 98px);padding:20px;border-radius:13px}
  #accessibility-dialog h2{font-size:22px}
  .a11y-text-large .header-inner{min-height:76px;padding-block:10px}
  .a11y-text-large .experience{grid-template-columns:1fr}
  .a11y-text-large .experience-number{grid-row:auto;text-align:right;margin-bottom:14px}
  .a11y-text-large .field-grid{grid-template-columns:1fr}
  .a11y-text-large .sector-panel{padding-inline-start:15px;padding-inline-end:0}
  .a11y-text-large .sector-visual{min-height:320px}
  .a11y-text-large .visual-label{bottom:90px}
  .a11y-text-large .service-feature-inner{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){#accessibility-trigger,#accessibility-dialog,#accessibility-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
