/* Homepage assembly chrome. Source section designs are loaded separately. */
:root { --assembly-paper:#f7f7f4; --assembly-ink:#191c20; --assembly-muted:#636665; --assembly-line:#dcded8; --assembly-focus:#2966ff; --assembly-font:Arial,Helvetica,sans-serif; --assembly-height:52px; }
html { scroll-padding-top:var(--assembly-height); }
body { background:var(--assembly-paper); }
.study { border:0; scroll-margin-top:0; }
.assembly-skip { position:fixed; z-index:1200; inset:8px auto auto 8px; padding:10px 16px; transform:translateY(-160%); background:var(--assembly-paper); color:var(--assembly-ink); }
.assembly-skip:focus { transform:none; }
.assembly-bar { position:sticky; top:0; z-index:1000; display:flex; align-items:center; gap:24px; height:var(--assembly-height); padding:0 24px; border-bottom:1px solid var(--assembly-line); background:var(--assembly-paper); color:var(--assembly-ink); font:14px/1.4 var(--assembly-font); }
.assembly-brand { color:var(--assembly-ink); font:600 15px/1.4 var(--assembly-font); text-decoration:none; }
.assembly-status { margin-left:auto; color:var(--assembly-muted); font-size:12px; }
.assembly-navigation { position:relative; }
.assembly-navigation summary { cursor:pointer; padding:7px 10px; border:1px solid var(--assembly-line); border-radius:6px; list-style:none; }
.assembly-navigation summary::-webkit-details-marker { display:none; }
.assembly-navigation nav { position:absolute; top:calc(100% + 8px); right:0; width:250px; max-height:70dvh; overflow:auto; padding:8px; border:1px solid var(--assembly-line); border-radius:8px; background:var(--assembly-paper); box-shadow:0 12px 35px rgb(0 0 0 / .12); }
.assembly-navigation nav a { display:flex; align-items:center; gap:14px; padding:9px 10px; text-decoration:none; border-radius:4px; }
.assembly-navigation nav a:hover { background:var(--assembly-line); }
.assembly-navigation nav span { color:var(--assembly-muted); font-size:12px; }
.assembly-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; padding:64px max(24px,calc((100% - 1280px)/2)); background:var(--assembly-paper); color:var(--assembly-ink); font:14px/1.6 var(--assembly-font); }
.assembly-footer p { margin:10px 0 0; color:var(--assembly-muted); }
.assembly-footer nav { display:flex; flex-wrap:wrap; align-content:start; gap:12px 20px; }
.assembly-footer nav a { text-underline-offset:4px; }
.assembly-footer .assembly-note { grid-column:1/-1; max-width:none; font-size:12px; }
.assembly-bar :focus-visible,.assembly-footer :focus-visible { outline:2px solid var(--assembly-focus); outline-offset:4px; }
@media(max-width:600px) { .assembly-bar { padding-inline:16px; gap:12px; } .assembly-status { font-size:11px; } .assembly-status span { display:none; } .assembly-brand { font-size:13px; } .assembly-footer { grid-template-columns:minmax(0,1fr); padding:44px 24px; gap:24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
