/* Native accessibility improvements; shared by every public page. */
:root { --a11y-focus:#e5f7ff; --a11y-border:#749ab8; }
[hidden] { display:none!important; }
html { scroll-padding-block:24px; }
body { overflow-wrap:break-word; }
main,section,article,fieldset { min-width:0; }
img { max-width:100%; }
.identity-intro>* { min-width:0; }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--a11y-focus)!important; outline-offset:3px!important;
  box-shadow:0 0 0 6px #02070d!important;
}
main:focus { outline:none; }
.skip { position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-180%);color:#edf3fb;background:#07111c;border:2px solid #b9e1ff;padding:12px 18px; }
.skip:focus { top:12px;transform:none; }
button,summary { min-height:32px; }
button { min-width:24px; }
summary { padding-block:6px; }
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea { min-height:44px;font:inherit;line-height:1.5; }
input[type=checkbox],input[type=radio] { width:24px;height:24px;vertical-align:middle;accent-color:#a9dfff; }
input[type=range] { min-height:32px;max-width:100%;accent-color:#a9dfff; }
body.brand-preview :is(input:not([type=range]),select,textarea,.film-nav,.photo-magnifier-toggle,.platform-tabs button,.hud-tools button,.optics-tabs button,.tools-b-selectors button,.camera-brand-button,.camera-model-tile) { border-color:var(--a11y-border)!important; }
body.brand-preview { --muted:#b3c9dc;--technical-label-font:600 clamp(12px,.8625vw,13px)/1.5 monospace; }
body.brand-preview :is(#about,#projects,#experience,#expertise,#contact) { --muted:#b3c9dc; }
body.brand-preview :is(.identity-lead,.identity-routes p,.tool-description,.workspace-heading>p:last-child,.preview-footer-note,.film-caption,.footer-copyright,.lens-schematic,.cycle-playback,.cycle-inputs p,.cycle-assumptions p,.tools-b-selectors button span,.photo-magnifier-help) { color:#a8c4db!important; }
.capability-letter { color:#8fb8d6; }
@keyframes capability-glint { 0%,4.8%,100% { color:#8fb8d6;text-shadow:none; }1.2%,3.6% { color:#c5e9ff;text-shadow:0 0 5px #70caff66; }2.4% { color:#f1fcff;text-shadow:0 0 6px #c8efff,0 0 14px #70caffb3; } }
body.brand-preview :is(.identity-capabilities,.route-index,.footer-identity) { color:#a4c6df; }
/* Keep the particle field visible; soften only the immediate edge of the text. */
body.brand-preview :is(.hybrid-wordmark,nav,.compact-view-heading,.page-view-heading,.identity-lead,.identity-capabilities,.footer-identity,.footer-invitation,.footer-copyright) { text-shadow:0 1px 2px #02070d,0 0 4px #02070d; }
body.brand-preview .home-pointer-light { z-index:0; }
.about-film .film-frame-number { background:#02070de8;padding:2px 5px;text-shadow:none; }
.a11y-preferences { display:flex;justify-content:center;flex-wrap:wrap;gap:12px; }
.site-map { max-width:100%;border:1px solid var(--a11y-border);padding:8px 14px;background:transparent;color:#d8edff;font:14px/1.5 var(--portfolio-text-font,Arial,sans-serif); }
body.brand-preview .site-map nav { display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;margin:12px 0;font-size:16px; }
.motion-toggle { min-height:32px;padding:4px 10px;border:1px solid var(--a11y-border);background:transparent;color:#d8edff;font:12px/1.5 var(--portfolio-text-font,Arial,sans-serif);cursor:pointer;text-shadow:0 1px 2px #02070d; }
.motion-toggle[aria-pressed=true] { background:#13324866;color:#fff; }
.entry-controls { flex-wrap:wrap;gap:18px; }
.entry-controls .motion-toggle { align-self:center; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
.motion-paused .home-pointer-light,.motion-paused .entry-pointer-glow { display:none; }
.a11y-roi-controls { padding:14px;background:#06131e;border-top:1px solid #749ab8;color:#d8edff;font:13px/1.5 monospace; }
.a11y-roi-controls summary { color:#c7e7ff; }
.a11y-roi-fields { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:12px; }
.a11y-roi-controls label { display:block;color:#c7e7ff; }
.a11y-roi-controls input { display:block;width:100%;margin-top:6px;padding:8px;border:1px solid #749ab8;background:#07111c;color:#edf3fb;font:inherit; }
.a11y-roi-controls button { padding:8px 12px;background:#133248;border:1px solid #749ab8;color:#edf3fb;cursor:pointer; }
.a11y-roi-controls p { color:#b3c9dc;font:inherit;margin:8px 0; }
.magnifier-move-controls { display:flex;justify-content:center;gap:8px;padding:8px;border-top:1px solid #749ab8; }
.magnifier-move-controls button { width:32px;height:32px;border:1px solid #749ab8;background:#07111c;color:#d8edff;cursor:pointer; }
.photo-magnifier:focus-within { border-color:#e5f7ff; }
.photo-magnifier { max-height:calc(100dvh - 24px);overflow:auto; }
.photo-magnifier-crop { max-height:calc(100dvh - 200px); }
body.brand-preview .tools-b-viewport { height:auto;min-height:0;max-height:none;overflow:visible; }
body.brand-preview .tools-b-panel { overflow:visible; }
/* Let labels, details and enlarged text expand the inspection workspace. */
body.brand-preview .hud-home .vision-lab { height:auto;grid-template-rows:auto auto minmax(340px,auto) auto auto auto auto auto; }
body.brand-preview .hud-home .hud-field { height:340px; }
body.brand-preview .hud-home :is(.hud-tools,.tool-result,.lab-controls,.lab-controls-grid>div) { overflow:visible;max-height:none; }
body.brand-preview .hud-home .lab-controls-grid { height:auto;grid-template-rows:auto; }
body.brand-preview .hud-home .a11y-roi-controls { grid-column:1/-1;grid-row:6; }
body.brand-preview .hud-home .vision-lab>.lab-controls { grid-row:7; }
body.brand-preview .hud-home .hud-bar:last-child { grid-row:8;flex-wrap:wrap; }
body.brand-preview .site-header.header-atmosphere { overflow:visible; }
.header-particles { clip-path:inset(0); }
[aria-invalid=true] { border-color:#ffc78c!important; }
.numeric-error { display:block;color:#ffc78c;font:13px/1.5 var(--portfolio-text-font,Arial,sans-serif);margin-top:6px; }
.cycle-fields>.numeric-error,.a11y-roi-fields>.numeric-error { grid-column:1/-1; }
@media(max-width:900px) {
  .a11y-roi-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .identity-intro { grid-template-columns:minmax(0,1fr); }
  body.brand-preview .site-header { padding-inline:16px; }
  body.brand-preview .brand-signature { max-width:100%; }
  body.brand-preview .hybrid-wordmark { min-width:0; }
  body.brand-preview .hybrid-subtitle { white-space:normal; }
  body.brand-preview .compact-view-heading { gap:10px; }
  body.brand-preview .compact-view-heading>[role=tablist] { flex-wrap:wrap; }
  body.brand-preview .home-view-switcher button { white-space:normal;text-align:left; }
  body.brand-preview :is(.lens-pair,.cycle-fields,.compare-custom-fields) { grid-template-columns:1fr; }
  body.brand-preview :is(.lens-layout,.cycle-layout,.process-layout,.compare-shared,#comparison-cards) { grid-template-columns:1fr; }
  body.brand-preview .identity-capabilities>.capability-label { white-space:normal;max-width:100%; }
  .capability-letters { display:inline; }
  .photo-magnifier { left:12px!important;max-width:calc(100vw - 24px); }
}
@media(max-width:750px) {
  body.brand-preview .hud-home .vision-lab { grid-template-rows:repeat(10,auto); }
  body.brand-preview .hud-home .platform-tabs { flex-wrap:wrap;overflow:visible; }
  body.brand-preview .hud-home .hud-field { height:260px; }
  body.brand-preview .hud-home .a11y-roi-controls { grid-row:7; }
  body.brand-preview .hud-home .tool-result { grid-row:8; }
  body.brand-preview .hud-home .vision-lab>.lab-controls { grid-row:9; }
  body.brand-preview .hud-home .hud-bar:last-child { grid-row:10; }
  body.brand-preview .hud-home .lab-controls-grid { grid-template-columns:minmax(0,1fr); }
}
@media(pointer:coarse) { button,summary { min-height:44px; }.motion-toggle { min-height:44px; } }
@media(forced-colors:active) {
  :is(a,button,input,select,summary,[tabindex]):focus-visible { outline:3px solid Highlight!important;box-shadow:none!important; }
  :is(button,input,select,summary),.editable-roi,.photo-magnifier-region,.film-frame[aria-pressed=true] { border:2px solid ButtonText!important; }
  [aria-selected=true],[aria-pressed=true] { outline:2px solid Highlight;outline-offset:-3px; }
  .home-particles,.header-particles,.home-pointer-light { display:none; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
