html[data-light-level="1"]{--paper:#f4efe5;--paper-2:#eae3d5;--line:#d9d0bd;--line-strong:#bfb49b;--nav-bg:#f4efe5ed;--accent:#984524;--muted:#5e6055}
html[data-light-level="2"]{--paper:#e7dfce;--paper-2:#dad2c0;--ink:#172837;--ink-soft:#2f4149;--green:#254e3c;--muted:#515e56;--line:#c4bba9;--line-strong:#b2a68f;--nav-bg:#e7dfceed;--method-bg:#d4dbca;--accent:#8a3e20}
html[data-light-level="3"]{--paper:#d7cbb7;--paper-2:#cbbfa9;--ink:#172837;--ink-soft:#293e45;--green:#244934;--muted:#424d45;--line:#b6a88e;--line-strong:#a49579;--nav-bg:#d7cbb7ed;--method-bg:#c6ccb7;--accent:#753a21}
html[data-light-level="4"]{--paper:#435653;--paper-2:#3a4b48;--ink:#faf7ee;--ink-soft:#e1e7dd;--green:#c2ddc5;--green-soft:#9cbea4;--accent:#ffd4a7;--accent-soft:#e9bc91;--line:#697975;--line-strong:#82918a;--muted:#c9d4c7;--nav-bg:#435653ed;--method-bg:#344b42;--button-ink:#18332b;--contact-bg:#253a36;color-scheme:dark}
html[data-light-level="5"]{--paper:#293d39;--paper-2:#21332f;--ink:#f6f3e9;--ink-soft:#d9e3d8;--green:#bbd8bd;--green-soft:#97b99c;--accent:#e8ae7c;--accent-soft:#e9bc91;--line:#4c6158;--line-strong:#708579;--muted:#b8c9ba;--nav-bg:#293d39ed;--method-bg:#344b3c;--button-ink:#18332b;--contact-bg:#172925;color-scheme:dark}
html[data-light-level="6"]{--paper:#152623;--paper-2:#1c302b;--ink:#f2eee4;--ink-soft:#d2dfd2;--green:#b1d2b5;--green-soft:#8db49a;--accent:#e3a571;--accent-soft:#dda579;--line:#344e42;--line-strong:#56705f;--muted:#b4c3b6;--nav-bg:#152623ed;--method-bg:#2a4133;--button-ink:#18332b;--contact-bg:#10201d;color-scheme:dark}
.daylight{max-width:256px;margin:22px auto 0;--position:0%;--dial-ink:var(--accent)}
.daylight-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.09em;color:var(--muted);padding:0 1px}
.daylight-meta output{color:var(--accent);min-width:28px;text-align:right}
.daylight-control{display:flex;align-items:center;gap:12px;margin:7px 0 0}
.daylight-end{background:none;border:0;color:var(--muted);width:28px;height:40px;padding:5px;flex:none;cursor:pointer}
.daylight-end:hover{color:var(--accent)}
.daylight-end svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.daylight-scale{height:44px;position:relative;flex:1;min-width:0}
.daylight-ticks{display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 4px}
.daylight-ticks i{display:block;width:1px;height:var(--tick-height,10px);border-radius:2px;background:var(--line-strong);transition:height .25s cubic-bezier(.2,.8,.2,1),background-color .25s,transform .25s}
.daylight-ticks i:nth-child(5n+1){height:var(--tick-height,17px)}
.daylight-ticks i.lit{background:var(--accent)}
.daylight-marker{position:absolute;left:calc(4px + (100% - 8px) * var(--dial-ratio,0));width:3px;height:25px;background:var(--accent);border-radius:4px;top:9px;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 25%,transparent);transition:left .35s cubic-bezier(.2,.8,.2,1)}
.daylight-marker::before{content:'';width:3px;height:3px;position:absolute;top:-8px;left:0;border-radius:50%;background:var(--accent)}
#daylightRange{position:absolute;inset:0;width:100%;height:44px;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}
.daylight-scale:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.daylight-hint{text-align:center;font-size:9px;letter-spacing:.03em;color:var(--muted);margin-top:3px;opacity:.8}
.daylight.is-moving .daylight-marker::before{animation:light-pulse .6s ease-in-out infinite alternate}
@keyframes light-pulse{to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.daylight *{animation:none!important;transition:none!important}.case-media .imgbox:hover{transform:none}}
:root{--nav-bg:#faf7f1ed;--button-ink:#fff;--contact-bg:#17243c}
body{transition:background-color .45s,color .35s}
.nav,.nav.scrolled{background:var(--nav-bg)}
.hero-portrait .tag{bottom:auto;top:calc(368px - 48px)}
html[data-theme=dark] .adv,html[data-theme=dark] .honors-grid li{background:var(--paper-2);color:var(--ink-soft)}
html[data-theme=dark] .honors-grid li:first-child{background:#284b3b;color:var(--ink)}
html[data-theme=dark] .honors-grid li b{color:var(--ink)}
html[data-theme=dark] .btn-primary{color:var(--paper)}
html[data-theme=dark] .product-feature{background:var(--paper-2)}
html[data-theme=dark] .work-dialog{--panel:#1e332b}
html[data-theme=dark] .work-dialog-header,html[data-theme=dark] .work-context{background:var(--paper-2)}
html[data-theme=dark] .work-pages button{background:var(--paper);color:var(--ink)}
html[data-theme=dark] .work-pages button[aria-pressed=true]{background:var(--green);color:var(--paper)}
html[data-theme=dark] .work-rights{color:var(--muted)}
html[data-theme=dark] .hero-portrait .tag{background:#28543e;color:#edf5ed}
html[data-theme=dark] .showcase{--stage:#23372f;--panel:#1e332b}
.contact{background:var(--contact-bg)}
@media(max-width:820px){.hero-portrait .tag{top:calc(220px - 35px)}.daylight{width:220px}.hero-portrait{max-width:220px}}
@media(prefers-reduced-motion:reduce){body,.daylight *{animation:none!important;transition:none!important}}
@media print{.daylight{display:none!important}html[data-light-level]{--paper:white;--paper-2:white;--ink:#111;--ink-soft:#333;--muted:#555;--green:#244c3c;--contact-bg:white;color-scheme:light}}

.portrait-photo{position:relative}.hero-portrait .portrait-photo .tag{top:auto;bottom:6%}.hero-portrait>.ring{height:auto;aspect-ratio:1/1;bottom:auto}
