/* Special Projects · Onest. Page-local content styles; shared chrome stays in site-chrome.css. */
.sp-page{--sp-bg:#f6f5f1;--sp-surface:#f6f5f1;--sp-hover:#fff;--sp-open:#ebe9e3;--sp-ink:#1d1d1f;--sp-muted:#5f5f64;--sp-rule:#dcdad3;--sp-accent:#5f5f64;background:var(--sp-bg);color:var(--sp-ink);min-height:100dvh;padding:140px 40px 96px;font-family:'Onest',system-ui,sans-serif}
[data-theme="dark"] .sp-page{--sp-bg:#1c1c1e;--sp-surface:#1c1c1e;--sp-hover:#1c1c1e;--sp-open:#2c2c2e;--sp-ink:#f5f5f7;--sp-muted:#a1a1a6;--sp-rule:#3a3a3c;--sp-accent:#a1a1a6}
[data-theme="dark"] main.sp-page{background:var(--sp-bg)}
.sp-page *{box-sizing:border-box}
.sp-inner{max-width:1020px;margin:auto}
.sp-heading{margin:0 0 55px;text-align:center}
.sp-heading h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.05;font-weight:700;margin:0;letter-spacing:normal}
.sp-heading-divider{width:64px;height:1px;background:var(--sp-rule);margin:24px auto}
.sp-heading p{font-size:1rem;line-height:1.7;color:var(--sp-muted);margin:0 auto;padding:0;text-align:center;text-indent:0}
.sp-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;margin-bottom:30px}
.sp-filters{grid-column:2;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%}
.sp-resume{grid-column:3;justify-self:end}
.sp-filter:focus-visible,.sp-row:focus-visible{outline:2px solid var(--sp-accent);outline-offset:3px}
.sp-count{font-size:13px;color:var(--sp-muted);margin:0 0 3px}
.sp-hint{font-size:13px;color:var(--sp-muted);margin:0 0 15px}
.sp-list{border-top:1px solid var(--sp-rule)}
.sp-project{border-bottom:1px solid var(--sp-rule);scroll-margin-top:85px}
.sp-row{width:100%;display:grid;grid-template-columns:130px minmax(0,1fr) minmax(180px,290px) 26px;gap:23px;align-items:center;text-align:left;border:0;background:var(--sp-surface);color:var(--sp-ink);padding:21px 11px;min-height:145px;cursor:pointer;font-family:'Onest',system-ui,sans-serif!important}
.sp-row:hover{background:var(--sp-hover)}
.sp-project.is-open .sp-row{background:var(--sp-surface)}
.sp-project.is-open .sp-row:hover{background:var(--sp-hover)}
.sp-row h2{color:var(--sp-ink)}
.sp-thumb{width:130px;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:transparent}
.sp-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px!important}
.sp-image-top{object-position:center top!important}
.sp-identity{min-width:0}
.sp-identity h2{font-size:clamp(1.15rem,2.1vw,1.55rem);line-height:1.22;font-weight:700;margin:0 0 7px;letter-spacing:normal}
.sp-categories{display:block;color:var(--sp-muted);font-size:13px;line-height:1.45}
.sp-stat{font:500 14px/1.5 'Onest',system-ui,sans-serif!important;color:var(--sp-muted);text-align:right;margin:0;text-transform:none;letter-spacing:normal}
/* Row stats: one label per line, right-aligned (left-aligned under the title on mobile). */
.sp-row>.sp-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:0}
.sp-stat-unit{display:block;white-space:nowrap;font-family:'Onest',system-ui,sans-serif!important}
.sp-plus{position:relative;display:grid;place-items:center;width:26px;height:26px;color:var(--sp-muted);transform:rotate(0);transition:transform 150ms}
.sp-plus::before,.sp-plus::after{content:"";position:absolute;width:13px;height:1px;background:currentColor}
.sp-plus::after{transform:rotate(90deg)}
.sp-project.is-open .sp-plus{transform:rotate(45deg)}
.sp-panel[hidden]{display:none}
.sp-panel{background:var(--sp-open);border-top:1px solid var(--sp-rule);border-bottom:1px solid var(--sp-rule)}
[data-theme="dark"] .sp-panel{border-top-color:#3a3a3c;border-bottom-color:#3a3a3c}
.sp-panel-inner{display:grid;grid-template-columns:minmax(0,410px) minmax(0,1fr);gap:45px;padding:15px 39px 32px 9px}
.sp-media{display:block;margin-top:2px;overflow:hidden;background:transparent;border-radius:6px;align-self:start}
.sp-media img{width:100%;height:auto;display:block;border-radius:6px!important}
#not-just-a-goof .sp-media,
#not-just-a-goof .sp-media img{border-radius:18px!important}
@media(max-width:767px){
 #not-just-a-goof .sp-media,
 #not-just-a-goof .sp-media img{border-radius:14px!important}
}
.sp-media[href]:hover{opacity:.84}
.sp-media-video{aspect-ratio:16/9;position:relative}
.sp-media-video iframe{width:100%;height:100%;border:0;display:block}
.sp-video-poster{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;pointer-events:none;opacity:1;transition:opacity .2s}
.sp-video-poster.is-playing{opacity:0}
.sp-copy{display:flex;flex-direction:column;justify-content:flex-end;color:var(--sp-ink);font-size:14px;line-height:1.75}
.sp-copy p{margin:0 0 14px}
.sp-copy p:last-of-type{margin-bottom:0}
.sp-copy strong{font-weight:600;color:var(--sp-ink)}
.sp-copy .sp-label{font-size:13px;font-weight:600;color:#5f5f64!important;margin:0 0 5px}
[data-theme="dark"] .sp-copy .sp-label{color:var(--sp-muted)!important}
.sp-actions{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:8px;margin-top:0;padding-top:32px}
.sp-copy .sp-access{font-size:12px;margin:0 0 14px}
/* View project and View dashboard are soft buttons styled in site-chrome.css. */
.sp-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-print-only{display:none}
@media(max-width:599px){
 .sp-heading h1{font-size:clamp(1.8rem,8vw,2.35rem)}
 .sp-heading h1 span{display:block}
 .sp-heading-first{white-space:nowrap}
 .sp-heading p br{display:none}
}
@media(max-width:980px){
 .sp-toolbar{display:flex;flex-direction:column;align-items:center}
 .sp-resume{align-self:flex-end}
}
@media(max-width:760px){
 .sp-page{padding:125px 24px 72px}
 .sp-heading{margin-bottom:36px}
 .sp-filters{width:100%}
 .sp-filter{flex:none}
 .sp-resume{flex:none}
 .sp-row{grid-template-columns:84px minmax(0,1fr) 22px;gap:14px;min-height:102px;padding:14px 4px}
 .sp-thumb{width:84px}
 .sp-row>.sp-stat{grid-column:2;grid-row:2;align-items:flex-start;text-align:left}
 .sp-plus{grid-column:3;grid-row:1}
  .sp-panel-inner{display:block;padding:6px 4px 32px}
 .sp-media{margin:0 0 24px}
}
@media(max-width:480px){
 .sp-page{padding:116px 20px 60px}
 .sp-toolbar{display:block}
 .sp-filters{margin-bottom:10px}
 .sp-resume{display:inline-flex;align-items:center}
 .sp-identity h2{font-size:1.2rem}
 .sp-categories{font-size:12px}
 .sp-stat{font-size:13px!important}
}
@media(max-width:479px){
 .sp-actions :is(a.sp-project-button,a.sp-dashboard-button){width:100%!important}
 .sp-actions{row-gap:12px}
}
@media(prefers-reduced-motion:reduce){.sp-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{
 @page{size:letter portrait;margin:.65in}
  html,body{background:#fff!important;color:#1d1d1f!important}
 .site-header,footer,.skip-link,.sp-toolbar,.sp-hint,.sp-list{display:none!important}
  .sp-page{display:block!important;background:#fff!important;color:#1d1d1f!important;padding:0!important;min-height:0!important}
 .sp-heading{margin:0 0 22px!important}
 .sp-heading h1{font-size:30pt!important}
 .sp-heading p{font-size:9pt!important}
 .sp-count{display:none}
 .sp-print-only{display:block!important}
  .sp-print-project{display:grid;grid-template-columns:1.35in 1fr;gap:.15in;margin:0 0 .23in;padding:0 0 .18in;border-bottom:1px solid #e5e5e7;break-inside:avoid;color:#1d1d1f}
 .sp-print-project h2{grid-column:1/-1;font-size:15pt!important;margin:0}
 .sp-print-project img{width:1.35in;height:.88in;object-fit:contain}
 .sp-print-project .sp-categories{font-size:8pt}
 .sp-print-project p{font-size:8pt;line-height:1.4;margin:0 0 6px}
  .sp-print-project a{font-size:8pt;color:#6e6e73;overflow-wrap:anywhere}
 .sp-print-project a::after{content:" — " attr(href)}
 .sp-print-project .sp-label{font-weight:700}
}