:root { --wip-paper:#f4f2ed; --wip-ink:#1a1a18; --wip-muted:#696760; --wip-rule:#ccc9c0; }
html[data-nhs-portfolio-theme='dark'] { --wip-paper:#171715; --wip-ink:#f1efe8; --wip-muted:#b5b2aa; --wip-rule:#4d4c46; color-scheme:dark; }

/* The password gate is a utility screen, not the project's editorial title. */
.nhs-design-wip .nhs-design-wip__gate h1 { max-width:12ch; font-size:clamp(2.5rem,4.5vw,4.5rem); }
body.nhs-design-wip { margin:0; background:var(--wip-paper); color:var(--wip-ink); font-family:Georgia,'Times New Roman',serif; }
.nhs-design-wip * { box-sizing:border-box; }.nhs-design-wip a { color:inherit; }.nhs-design-wip__header,.nhs-design-wip__footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.5rem clamp(1.25rem,3vw,3rem); font:600 .72rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; }.nhs-design-wip__header { border-bottom:1px solid var(--wip-rule); }.nhs-design-wip__brand { display:flex; align-items:baseline; gap:.75rem; min-width:0; text-decoration:none; }.nhs-design-wip__brand strong { font-size:1rem; letter-spacing:-.06em; }.nhs-design-wip__brand span { overflow:hidden; color:var(--wip-muted); text-overflow:ellipsis; white-space:nowrap; }.nhs-design-wip__menu-list,.nhs-design-wip__footer-menu { display:flex; flex-wrap:wrap; gap:1.25rem; margin:0; padding:0; list-style:none; }.nhs-design-wip__menu a,.nhs-design-wip__footer a { text-decoration:none; }.nhs-design-wip__menu a:hover,.nhs-design-wip__footer a:hover { text-decoration:underline; text-underline-offset:.25em; }.nhs-design-wip__menu-toggle { display:none; border:0; background:transparent; color:inherit; }
.nhs-design-wip__main { min-height:calc(100vh - 14rem); padding:clamp(4rem,9vw,9rem) clamp(1.25rem,3vw,3rem); }.nhs-design-wip__project { display:grid; gap:clamp(2.5rem,5vw,5rem); align-items:start; }.nhs-design-wip__details { max-width:30rem; }.nhs-design-wip__eyebrow { margin:0 0 1rem; color:var(--wip-muted); font:600 .7rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.nhs-design-wip h1 { max-width:10ch; margin:0 0 1.5rem; font-size:clamp(3.25rem,6vw,6rem); font-weight:400; letter-spacing:-.065em; line-height:.9; }.nhs-design-wip__excerpt { margin:0 0 1rem; font:400 clamp(1rem,1.35vw,1.2rem)/1.5 Inter,ui-sans-serif,system-ui,sans-serif; }.nhs-design-wip__description { margin:0; color:var(--wip-muted); font:400 .9rem/1.65 Inter,ui-sans-serif,system-ui,sans-serif; }.nhs-design-wip__gallery { columns:1; column-gap:1.5rem; }.nhs-design-wip__frame { break-inside:avoid; margin:0 0 clamp(1.5rem,3vw,3rem); }.nhs-design-wip__frame button { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:0; background:transparent; cursor:zoom-in; }.nhs-design-wip__frame img { display:block; width:100%; height:auto; transition:transform 180ms ease; }.nhs-design-wip__frame button:hover img { transform:scale(1.012); }.nhs-design-wip__frame figcaption { position:absolute; right:.5rem; bottom:.5rem; margin:0; color:#fff; font:600 .6rem/1 Inter,ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; text-shadow:0 1px 3px rgb(0 0 0 / .65); }.nhs-design-wip__gate { width:min(100%,34rem); margin:auto; }.nhs-design-wip__gate > p:not(.nhs-design-wip__eyebrow) { max-width:31rem; margin:0 0 2rem; color:var(--wip-muted); font:400 1rem/1.55 Inter,ui-sans-serif,system-ui,sans-serif; }.nhs-design-wip__password-form { display:grid; gap:.65rem; font:600 .7rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; }.nhs-design-wip__password-form > div { display:flex; }.nhs-design-wip__password-form input { flex:1; min-width:0; min-height:3rem; padding:0 .75rem; border:1px solid var(--wip-rule); border-right:0; border-radius:0; background:transparent; color:var(--wip-ink); font:400 1rem/1 Inter,ui-sans-serif,system-ui,sans-serif; }.nhs-design-wip__password-form button { min-height:3rem; padding:0 1rem; border:1px solid var(--wip-ink); background:var(--wip-ink); color:var(--wip-paper); font:600 .7rem/1 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }.nhs-design-wip__footer { border-top:1px solid var(--wip-rule); color:var(--wip-muted); }.nhs-design-wip__footer div { display:flex; align-items:baseline; gap:1rem; }.nhs-design-wip__footer strong { color:var(--wip-ink); }.nhs-design-wip__lightbox { width:100vw; max-width:none; height:100vh; max-height:none; padding:2rem; border:0; background:rgb(10 10 10 / .88); color:#fff; }.nhs-design-wip__lightbox::backdrop { background:rgb(10 10 10 / .88); }.nhs-design-wip__lightbox figure { display:grid; width:100%; height:100%; margin:0; place-items:center; }.nhs-design-wip__lightbox img { max-width:100%; max-height:calc(100vh - 5rem); object-fit:contain; }.nhs-design-wip__lightbox figcaption { align-self:start; font:400 .7rem/1.4 Inter,ui-sans-serif,system-ui,sans-serif; }.nhs-design-wip__lightbox-close { position:fixed; top:1rem; right:1.25rem; border:0; background:transparent; color:#fff; font-size:2rem; cursor:pointer; }
@media (min-width:48rem) { .nhs-design-wip__gallery { columns:2; }.nhs-design-wip__project { grid-template-columns:minmax(0,4fr) minmax(0,8fr); }.nhs-design-wip__details { position:sticky; top:2rem; } }
@media (max-width:47.99rem) { .nhs-design-wip__brand span { display:none; }.nhs-design-wip__menu-toggle { position:relative; z-index:2; display:grid; width:2rem; height:2rem; padding:.35rem; place-content:center; gap:.32rem; cursor:pointer; }.nhs-design-wip__menu-toggle span { display:block; width:1.25rem; height:1px; background:currentColor; }.nhs-design-wip__menu { position:fixed; z-index:1; inset:0; display:none; padding:5.5rem 1.25rem 2rem; background:var(--wip-paper); }.nhs-design-wip__menu.is-open { display:flex; align-items:center; }.nhs-design-wip__menu-list { flex-direction:column; gap:1rem; }.nhs-design-wip__menu a { font:400 clamp(2.75rem,12vw,4.5rem)/.95 Georgia,'Times New Roman',serif; letter-spacing:-.06em; text-transform:none; }.nhs-design-wip__footer { align-items:flex-start; flex-direction:column; }.nhs-design-wip__footer div { flex-direction:column; gap:.5rem; }.nhs-design-wip__password-form > div { flex-direction:column; }.nhs-design-wip__password-form input { border-right:1px solid var(--wip-rule); border-bottom:0; }.nhs-design-wip h1 { max-width:12ch; } }
@media (prefers-reduced-motion:reduce) { .nhs-design-wip__frame img { transition:none; } }
.nhs-design-wip__theme-toggle { position:relative; display:flex; align-items:center; width:2rem; height:1rem; margin-left:auto; padding:.125rem; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; cursor:pointer; }.nhs-design-wip__theme-toggle span { width:.5rem; height:.5rem; border-radius:50%; background:currentColor; transition:transform 160ms ease; }.nhs-design-wip__theme-toggle[aria-checked='true'] span { transform:translateX(1.125rem); }.nhs-design-wip__files { margin-top:2rem; font:600 .7rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; }.nhs-design-wip__files > p { margin:0 0 .75rem; color:var(--wip-muted); }.nhs-design-wip__files > div { display:flex; flex-wrap:wrap; gap:.5rem; }.nhs-design-wip__files a { display:inline-flex; min-height:2.75rem; align-items:center; padding:0 .85rem; border:1px solid var(--wip-rule); text-decoration:none; }.nhs-design-wip__files a:hover,.nhs-design-wip__files a:focus-visible { border-color:var(--wip-ink); background:var(--wip-ink); color:var(--wip-paper); }
