/* DYNAMONK Studio V7: restorative detail pass. Brand accent exactly #FF7B00 from approved original HTML.
   The orange is used for decoration or on buttons with dark text; dark ink remains on light backgrounds.
   Theme modes retain their accessibility-specific palettes. */
:root{
 --bg:#FAFBFC;--surface:#FFFFFF;--surface-alt:#F4F7FA;--text:#17212B;--muted:#465663;
 --border:#778894;--line:#D8E1E8;--accent:#FF7B00;--accent-hover:#1E2935;
 --accent-text:#121820;--link:#1C3348;--focus:#1859AE;
 --hero:#FFFFFF;--hero-text:#17212B;--hero-muted:#435463;--hero-outline:#8596A5;--hero-highlight:#FF7B00;
 --shadow:0 16px 48px rgba(14,29,42,.055);
}
:root[data-theme="soft"]{
 --bg:#F4F7FA;--surface:#FFFFFF;--surface-alt:#EDF3F8;--text:#1A2835;--muted:#3E5363;
 --border:#718698;--line:#CFDCE7;--accent:#FF7B00;--accent-hover:#1C2B38;--accent-text:#101820;
 --link:#193549;--focus:#155AA5;--hero:#F9FCFF;--hero-text:#1A2835;--hero-muted:#435665;--hero-outline:#8499AA;--hero-highlight:#FF7B00;
}
/* The grayscale and high-contrast options deliberately use different accessible palettes. */
:root[data-theme="mono"]{--accent:#262626;--accent-hover:#090909;--accent-text:#FFF;--link:#1D1D1D;--hero-highlight:#262626}
:root[data-theme="contrast"]{--accent:#FFE059;--accent-hover:#FFF0AA;--accent-text:#000;--link:#FFE059;--hero-highlight:#FFE059}
body{background:var(--bg)}
::selection{background:var(--accent);color:var(--accent-text)}
/* DYNAMONK orange appears as an accent, never low-contrast body copy on white. */
:root:not([data-theme="contrast"]):not([data-theme="mono"]) :is(.kicker,.lab5-eyebrow,.lab5-ref,.v6-overline,.v6-card-top,.v6-step span,.v6-value-grid span,.v6-ui-label,.card-num,.v6-service-index,.v6-card-link,.quiz5-review-status){color:var(--text)}
:root:not([data-theme="contrast"]):not([data-theme="mono"]) :is(.lab5-hero h1 em,.v6-hero-copy h1 span){color:var(--text);background:linear-gradient(to top,rgba(255,123,0,.34) 0 13%,transparent 13%) no-repeat;text-decoration:none}
.kicker::before{color:var(--accent)}
:root:not([data-theme="contrast"]):not([data-theme="mono"]) .lab5-topic[aria-pressed="true"]{box-shadow:inset 4px 0 0 var(--accent)}
:root:not([data-theme="contrast"]):not([data-theme="mono"]) .v6-service-card .v6-card-top{color:var(--text)}
/* Site-wide interactive motion + visible, understandable keyboard focus. */
.btn,.btn-light,.theme-option,.icon-button,.lab5-filter button,.lab5-simulation-controls button,.quiz5-option,
.lab5-topic,.v6-service,.v6-service-card,.card-link{
 transition:transform .30s cubic-bezier(.2,.78,.2,1),box-shadow .32s cubic-bezier(.2,.78,.2,1),background-color .22s ease,color .22s ease,border-color .22s ease!important;
}
.btn,.btn-light{background:var(--accent);border-color:var(--accent);color:var(--accent-text)!important;position:relative;overflow:hidden;box-shadow:0 3px 0 rgba(16,29,42,.06)}
.btn:hover,.btn-light:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text)!important;transform:translateY(-3px);box-shadow:0 13px 27px rgba(22,35,49,.18)}
/* Dark hover has white lettering in branded light themes; accessible modes retain their own treatment. */
:root:is([data-theme="standard"],[data-theme="soft"]) .btn:hover,
:root:is([data-theme="standard"],[data-theme="soft"]) .btn-light:hover{color:#FFF!important}
.btn::after{content:"";position:absolute;inset:-12%;background:linear-gradient(104deg,transparent 15%,rgba(255,255,255,.19) 49%,transparent 81%);transform:translateX(-130%) skewX(-17deg);pointer-events:none;transition:transform .68s cubic-bezier(.18,.7,.2,1)}
.btn:hover::after{transform:translateX(130%) skewX(-17deg)}
.btn:active,.btn-light:active{transform:translateY(0) scale(.975);box-shadow:0 1px 4px rgba(13,31,45,.09)}
.btn-outline{background:transparent;border-color:var(--border);color:var(--text)!important}
.btn-outline:hover{background:var(--surface-alt);border-color:var(--accent);color:var(--text)!important}
:root:is([data-theme="standard"],[data-theme="soft"]) .btn-outline:hover{color:var(--text)!important}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:4px!important}
:is(.v6-service,.v6-service-card,.card-link,.lab5-topic,.quiz5-option):hover{transform:translateY(-4px)}
:is(.v6-service,.v6-service-card,.card-link,.lab5-topic,.quiz5-option):active{transform:translateY(-1px) scale(.996)}
.v6-service-arrow,.v6-ui-good{transition:transform .32s ease}
.v6-service:hover .v6-service-arrow{transform:translateX(4px)}
.desktop-nav a:not(.btn)::after{background:var(--accent);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.v6-text-cta:hover{border-color:var(--accent)}
.icon-button:hover,.theme-option:hover{transform:translateY(-2px);border-color:var(--accent)}
.lab5-filter button:hover,.lab5-simulation-controls button:hover{border-color:var(--accent);transform:translateY(-2px)}
.lab5-filter button:active,.lab5-simulation-controls button:active{transform:scale(.97)}
/* Orange button/active tab always has dark text on a high-contrast orange surface. */
.lab5-filter button[aria-pressed="true"],.lab5-simulation-controls button[aria-pressed="true"]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
/* Replace brown-tinted light gradients with clean brand orange + cool white/blue light. */
.v6-living-gradient{background:radial-gradient(ellipse 38% 55% at 82% 38%,rgba(78,150,229,.13),transparent 76%),radial-gradient(ellipse 34% 52% at 94% 81%,rgba(255,123,0,.095),transparent 75%),radial-gradient(ellipse 38% 58% at 6% 90%,rgba(223,236,248,.58),transparent 74%);background-size:130% 130%}
:root[data-theme="mono"] .v6-living-gradient,:root[data-theme="contrast"] .v6-living-gradient{display:none}
.v6-hero,.page-hero,.v6-page-hero,.lab5-hero{background-color:var(--surface)}
.v6-hero{border-color:var(--line)}
.page-hero,.v6-page-hero{background:linear-gradient(116deg,var(--bg),var(--surface-alt))}
.lab5-hero{background:linear-gradient(120deg,var(--surface),var(--surface-alt))}
.v6-services-section,.section-alt,.lab5-quiz-section{background:var(--surface-alt)}
.v6-service:hover,.v6-service-card:hover,.lab5-topic:hover{border-color:var(--accent)}
/* Lab preview remains readable by default; only genuinely problematic content is visibly degraded. */
.lab5-preview.is-barrier .lab5-preview-window{background:#FFF;border-color:#A5B2BB}
.lab5-preview.is-barrier .lab5-preview-window-heading{background:#EDF1F5;color:#304252}
.lab5-preview.is-barrier .lab5-preview-label{background:#F0F3F6;color:#2E3B4A}
.lab5-preview-visual{padding:19px;min-height:250px;display:block}
.lab5-preview.is-barrier .lab5-preview-visual p{color:inherit}
.lab7-scene{border:1px solid #9AAEBC;border-radius:12px;overflow:hidden;background:#FFF;color:#152637}
.lab7-scene-heading{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid #CFDAE3;background:#F2F6FA;color:#293C4B;font-size:.69rem;font-weight:780;letter-spacing:.065em;text-transform:uppercase}
.lab7-scene-dot{display:block;width:7px;height:7px;border-radius:50%;background:#FF7B00;flex:none}
.lab7-scene-content{padding:clamp(13px,2vw,21px);display:grid;gap:11px;min-height:158px;align-content:start}
.lab7-scene p,.lab7-scene strong,.lab7-scene span{color:inherit}
.lab7-scene p{font-size:.85rem;line-height:1.55;margin:0}
.lab7-subtitle{font-weight:700}
.lab7-meta{font-size:.77rem!important;color:#395169!important}
.lab7-at{display:grid;gap:6px;margin-top:12px;background:#EDF2F7;border:1px solid #B9C7D2;border-radius:9px;padding:10px 12px;line-height:1.4}
.lab7-at span{color:#405468;font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800}
.lab7-at strong{color:#25384A;font-size:.82rem;font-weight:700}
.lab7-at-good{background:#F1F7F8}
.lab7-content-card{padding:12px;border:1px solid #D7E0E7;border-radius:10px;display:grid;gap:11px}
.lab7-content-card .lab7-content-title{color:#263748;font-size:.96rem}
.lab7-content-card p{color:#233547}
.lab7-content-card .lab7-low-contrast{color:#B9C1C8!important;background:#FFF} /* deliberate failure: 1.4.3 */
.lab7-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#F2F5F8;border:1px solid #778A98;min-height:33px;width:max-content;max-width:100%;padding:6px 10px;font-size:.78rem;font-weight:750;color:#1C3346!important}
.lab7-orange{background:#FF7B00;border-color:#FF7B00;color:#101820!important}
.lab7-faint{background:#F2F3F5;border-color:#E2E6E9;color:#A5AFB7!important}
.lab7-controls{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.lab7-outline-control{display:flex;gap:10px;align-items:center;padding:10px;border-radius:8px;font-size:.78rem;font-weight:700;min-height:43px}
.lab7-invisible-border{border:1px solid #F1F2F4;background:#FFF}
.lab7-strong-border{border:2px solid #465D71;background:#F9FCFF}
.lab7-circle{width:16px;height:16px;border-radius:4px;background:#FF7B00}
.lab7-chart{display:grid;gap:13px}.lab7-chart-line{display:grid;grid-template-columns:30px 1fr 35px;gap:8px;align-items:center;font-size:.72rem}
.lab7-track{height:19px;background:#EDF1F4;border-radius:5px;overflow:hidden}.lab7-track i{display:block;background:#FF7B00;height:100%}
.lab7-chart-caption{font-size:.73rem!important;color:#42586A!important}
.lab7-video{min-height:139px;background:#192839;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;gap:9px;text-align:center}
.lab7-video *{color:#FFF!important}.lab7-video-play{font-size:1.4rem}.lab7-video-label{font-size:.7rem}
.lab7-video .lab7-captions{font-size:.74rem;line-height:1.35;padding:7px 9px;background:rgba(0,0,0,.82);border-radius:4px;color:#FFF}
.lab7-zoom{border:1px solid #CAD6DE;padding:10px;border-radius:7px;width:100%;overflow:hidden;display:grid;gap:10px}.lab7-zoom strong{font-size:1.19rem;line-height:1.2}.lab7-zoom p{font-size:.88rem}.lab7-zoom-bad{height:86px;overflow:hidden}.lab7-zoom-bad strong{font-size:1.58rem}.lab7-zoom-bad p{font-size:1.22rem}.lab7-zoom-action{font-size:.8rem;display:inline-flex;padding:8px 11px;background:#FF7B00;color:#101820!important;border-radius:5px;width:max-content}
.lab7-device{width:min(100%,220px);margin-inline:auto;border:5px solid #2A3E50;border-radius:15px;overflow:hidden;min-height:145px}.lab7-device-inner{padding:14px;width:100%;display:grid;gap:10px}.lab7-device-inner strong{font-size:.86rem}.lab7-mini-row{display:grid;gap:7px;font-size:.7rem}.lab7-device-bad{width:340px}.lab7-device-bad .lab7-mini-row{display:flex;gap:16px;white-space:nowrap}.lab7-mini-scroll{width:220px;height:7px;border-radius:5px;background:#DEE6ED;margin-inline:auto}.lab7-mini-scroll span{display:block;background:#FF7B00;width:40%;height:100%;border-radius:5px}
.lab7-keyboard-path{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.lab7-keyboard-path .lab7-pill{font-size:.69rem;padding:6px}.lab7-path-arrow{color:#60778B!important}.lab7-target{padding:6px;border:2px solid #FF7B00;background:#FFF7EC;border-radius:6px;font-size:.72rem;font-weight:700}.lab7-target.lab7-skipped{opacity:.43;border-style:dashed;text-decoration:line-through}
.lab7-focus-visible{outline:4px solid #145CAA;outline-offset:3px}.lab7-focus-missing{outline:none;border-color:#B8C6D0}
.lab7-sticky-stage{height:150px;position:relative;border:1px solid #CAD6DF;border-radius:8px;padding:15px 10px 10px;overflow:hidden}.lab7-sticky-header{position:absolute;top:0;left:0;right:0;background:#25394A;color:#FFF;font-size:.68rem;font-weight:700;min-height:42px;padding:9px 12px;z-index:2}.lab7-sticky-button{width:max-content;max-width:100%;padding:11px 8px;outline:3px solid #1766B2;background:#FFF6E8;border-radius:5px;font-size:.7rem;font-weight:700}.lab7-under-toolbar{position:relative;top:8px;z-index:1}.lab7-clear-toolbar{position:relative;top:44px}.lab7-sticky-stage p{position:absolute;bottom:5px;left:10px;color:#31465B;font-size:.7rem}
.lab7-tap-controls{display:flex;gap:7px}.lab7-tap-controls span{display:grid;place-items:center;border-radius:6px;border:1px solid #748B9B;color:#183449}.lab7-tiny-taps span{width:16px;height:16px;font-size:.65rem}.lab7-large-taps{gap:16px}.lab7-large-taps span{width:44px;height:44px;font-size:1.2rem}
.lab7-sort{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lab7-sort-card,.lab7-sort-drop{border:2px solid #718A9B;padding:12px 8px;border-radius:9px;font-size:.77rem;font-weight:700}.lab7-sort-arrow{font-size:.78rem;font-weight:750}.lab7-sort-drop{border-style:dashed;background:#F4F9FC}.lab7-sort-alternative{font-size:.73rem;color:#253C4F;background:#FFF1E5;padding:9px;border-radius:7px}
.lab7-ticker{overflow:hidden;border:1px solid #8498A7;padding:10px 12px;border-radius:8px;background:#F3F8FD;white-space:nowrap;font-weight:700;font-size:.78rem}
.lab7-form-mock{display:grid;gap:8px;max-width:300px}.lab7-field-label{font-size:.83rem;font-weight:760}.lab7-field-label span{font-weight:500}.lab7-input-mock{border:1px solid #778E9D;border-radius:7px;padding:11px;font-size:.83rem;color:#667D8B}.lab7-input-invalid{border:2px solid #C32929}.lab7-error-msg{font-size:.78rem;font-weight:700;color:#A21C1C}
.lab7-save-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #D1DEE5;border-radius:8px;padding:13px;font-size:.85rem}.lab7-saved{background:#E7F4EA;border-color:#317350}
.lab7-login{display:grid;gap:9px}.lab7-login strong{font-size:.93rem}.lab7-login .lab7-pill{font-size:.7rem}
.lab7-headings{display:grid;gap:8px}.lab7-headings>div{display:flex;align-items:center;gap:10px;padding:5px 7px;border-left:3px solid #FF7B00}.lab7-headings b{font-family:monospace;font-size:.7rem;border-radius:4px;background:#E9EFF4;padding:4px;color:#2D4255}.lab7-headings span{font-size:.81rem}.lab7-headings .lab7-heading-skip{margin-left:35px}.lab7-headings>div:nth-child(3){margin-left:18px}
.lab7-video-control{display:flex;align-items:center;gap:12px}.lab7-icon-action{display:grid;place-items:center;width:43px;height:43px;background:#FF7B00;color:#101820!important;border-radius:8px}.lab7-video-control>span:last-child{font-weight:700;font-size:.82rem}
.lab7-experience{font-size:.79rem;line-height:1.6;color:var(--muted);margin:10px 0 0}
/* Intentional low contrast only within the labelled barrier illustrations. */
.lab5-preview.is-barrier .lab7-scene :is(p,strong,span){color:inherit}
/* Progressive-enhancement section entrances: text remains present with JS disabled. */
.v7-observe{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
 :root:not([data-motion="reduce"]) .v7-observe.in-view{animation:v7-enter .62s cubic-bezier(.16,.74,.26,1) both}
 :root:not([data-motion="reduce"]) .lab7-swapping{animation:v7-switch .31s ease-out both}
}
@keyframes v7-enter{from{opacity:.75;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes v7-switch{from{opacity:.58;transform:translateY(7px)}to{opacity:1;transform:none}}
:root[data-motion="reduce"] *, :root[data-motion="reduce"] *::before,:root[data-motion="reduce"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:520px){.lab5-preview-visual{padding:10px}.lab7-scene-content{padding:12px}.lab7-at strong{font-size:.75rem}}
