/* Safety surfaces are intentionally fixed; brand imagery is never recolored. */
:root:root body .ossa-theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:10px;border:2px solid #111;border-radius:8px;background:#ffd414!important;color:#111!important;-webkit-text-fill-color:#111!important;cursor:pointer;box-shadow:0 0 0 1px #fff}
:root:root body .ossa-theme-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root:root body .ossa-theme-toggle:hover{background:#fff!important;color:#111!important}
:root:root body .ossa-theme-toggle:focus-visible{outline:3px solid #7350a2;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.ossa-personal{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ossa-identity{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--design-headerText,#111)}
:root:root body :is(.brand img,.footer-main>img,[data-media-slot=brand-logo]){background:#fff;border-radius:4px;padding:4px}
:root:root body .ossa-logo-dark{display:none;background:transparent!important;border-radius:4px;padding:4px}
:root:root body:is([data-display-theme=dark],[data-admin-display-theme=dark]) .ossa-logo-light{display:none}
:root:root body:is([data-display-theme=dark],[data-admin-display-theme=dark]) .ossa-logo-dark{display:block;background:transparent!important}
:root:root body :is(.commerce-icon,.project-card-icon,.icon-card>span[aria-hidden],.scroll-hint i){display:inline-flex;align-items:center;justify-content:center;background:#ffd414;color:#111;-webkit-text-fill-color:#111;border:1px solid #111;border-radius:4px;padding:3px;min-width:1.75rem;min-height:1.75rem}
:root:root body .menu-icon{background:#fff;padding:3px;border:1px solid #767676;border-radius:4px}
:root:root body:not(.admin-theme) .site-header .menu-toggle{align-items:center;justify-content:center;gap:6px;width:44px;height:44px;min-width:44px;min-height:44px;padding:8px;background:#fff!important;color:#111!important;border:2px solid #111!important;border-radius:10px;box-shadow:none}
:root:root body:not(.admin-theme) .site-header .menu-toggle span{width:24px;height:3px;flex:none;background:#111!important;border-radius:999px}
:root:root body:not(.admin-theme)[data-display-theme=dark] .site-header .menu-toggle{background:#101114!important;color:#f4f5f7!important;border-color:#f4f5f7!important}
:root:root body:not(.admin-theme)[data-display-theme=dark] .site-header .menu-toggle span{background:#f4f5f7!important}
:root:root body .section-dots a{background:#fff;border:2px solid #111;box-shadow:0 0 0 1px #fff}
:root:root body .section-dots a:is(:hover,[aria-current],.active){background:#ffd414}
body:not(.admin-theme)[data-display-theme=dark]{color-scheme:dark;--design-pageBg:#15171b;--design-textColor:#f1f2f4;--design-headingColor:#f1f2f4;--design-mutedColor:#b6bdc8;--design-headerBg:#1c1f25;--design-headerText:#f1f2f4;--design-navText:#f1f2f4;--design-headerActive:#ffd414;--design-navHover:#ffd414;--design-footerBg:#1c1f25;--design-footerText:#f1f2f4;--design-footerBorder:#646b77;--design-linkColor:#d5b4ff;--design-homeBg:#15171b;--design-homeHeading:#f1f2f4;--design-homeText:#f1f2f4;--soft:#22252b;--line:#646b77}
body:not(.admin-theme)[data-display-theme=dark] :is(.hero-shade,.panel-shade){background:#0009!important}
body:not(.admin-theme)[data-display-theme=dark] :is(.icon-card,.config-section,.message,.inquiry-form,.project-card){background:#22252b;color:#f1f2f4;border-color:#646b77}
body:not(.admin-theme)[data-display-theme=dark] :is(input,textarea,select){background:#17191e;color:#f1f2f4;border-color:#858c98}
@media(max-width:560px){.ossa-identity{max-width:5rem}.ossa-personal{gap:.25rem}.header-inner{flex-wrap:wrap}.ossa-personal{margin-left:auto}}
@media(forced-colors:active){:root:root body .ossa-theme-toggle{forced-color-adjust:auto;border:2px solid ButtonText}}
:root:root body .icon-card svg{background:#ffd414;color:#111;padding:8px;border-radius:8px;border:1px solid #111}
:root:root body .icon-card svg [stroke]{stroke:currentColor}
:root:root body .site-header .locale-switch{background:#ffd414!important;color:#111!important;-webkit-text-fill-color:#111!important;color-scheme:light}
/* Native language names retain keyboard and touch behavior. */
:root:root body .site-header .locale-switch{width:auto;min-width:6rem;max-width:16rem;height:44px;min-height:44px;padding:8px 6px;font-size:14px;font-weight:700;border:2px solid #111;border-radius:8px;flex-shrink:0;box-shadow:0 0 0 1px #fff;cursor:pointer}
:root:root body .site-header .locale-switch:focus-visible{outline:3px solid #7350a2;outline-offset:3px}

/* Personal controls: light=white, dark=yellow; always black foreground. */
:root:root body :is(.ossa-theme-toggle,.site-header .locale-switch){background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important}
:root:root body:is([data-display-theme=dark],[data-admin-display-theme=dark]) :is(.ossa-theme-toggle,.site-header .locale-switch){background:#ffd414!important;color:#111!important;-webkit-text-fill-color:#111!important}
:root:root body .ossa-personal{gap:4px}
:root:root body .ossa-personal>.locale-switch{margin:0}
/* Shared dark photography treatment for home and every interior hero. */
:root body:not(.admin-theme)[data-display-theme=dark] :is(.home-hero,.image-panel,.subhero,.photo-feature){background-color:#15171b;color:#f1f2f4}
:root body:not(.admin-theme)[data-display-theme=dark] :is(.hero-shade,.panel-shade,.subhero-shade){background:rgba(0,0,0,.70)!important}
:root body:not(.admin-theme)[data-display-theme=dark] :is(.hero-content,.panel-inner,.subhero-inner,.feature-copy) :is(h1,h2,p){color:#f1f2f4;-webkit-text-fill-color:currentColor;text-shadow:0 2px 12px #0006}
:root body:not(.admin-theme)[data-display-theme=dark] :is(.hero-content,.panel-inner,.subhero-inner,.feature-copy) .overline{color:#ffd414;-webkit-text-fill-color:currentColor}
:root body:not(.admin-theme)[data-display-theme=dark] :is(.hero-content,.subhero-inner) mark{color:#ffd414;-webkit-text-fill-color:currentColor;background:linear-gradient(transparent 74%,#7849a3 74%)}
:root body:not(.admin-theme)[data-display-theme=dark] .photo-feature>div:first-child::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);pointer-events:none}
:root body:not(.admin-theme)[data-display-theme=dark] .feature-copy{background:#15171b;color:#f1f2f4}
/* Category/navigation animated bars use a visible purple in dark mode. */
:root body:not(.admin-theme)[data-display-theme=dark]{--design-navBarColor:#b58ae6}

/* QMS rows keep one legible surface in every viewport and hover state. */
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table tbody tr,
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table tbody tr:nth-child(even){background:#22252b!important;color:#f1f2f4;border-color:#646b77}
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table tbody tr:hover{background:#30343d!important}
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table :is(.name,.work){color:#f1f2f4;-webkit-text-fill-color:currentColor}
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table .number,
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table .work::before{color:#ffd414}
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table .tag{background:#ffd414;color:#111;-webkit-text-fill-color:currentColor}
:root body:not(.admin-theme)[data-display-theme=dark] .scope-table thead th{color:#d9dbe0}
:root body:not(.admin-theme)[data-display-theme=light] .scope-table tbody tr,
:root body:not(.admin-theme)[data-display-theme=light] .scope-table tbody tr:hover{color:#171719}

/* Dark logo is the original brand geometry; preview it against dark charcoal. */
body.preview-dark-logo #preview{background:#1c1f25}
body.preview-dark-logo .photo-choice img{background:#1c1f25}

/* Local surface wins over the page theme (e.g. a dark footer on a light page). */
:root:root:root body img.ossa-logo-light[data-logo-surface=dark],:root:root:root body img.ossa-logo-dark[data-logo-surface=light]{display:none}
:root:root:root body img.ossa-logo-dark[data-logo-surface=dark],:root:root:root body img.ossa-logo-light[data-logo-surface=light]{display:block;background:transparent!important;box-shadow:none!important}

:root body:not(.admin-theme)[data-display-theme=dark] :is(.site-header,.site-footer){--design-navText:#f1f2f4;--design-navHover:#ffd414}
