.featured-section { --featured-header-height:82px; display:grid; align-content:start; gap:24px; padding-block:var(--landing-section-space); min-block-size:0; color:var(--theme-ink); }
.featured-heading { margin:0; }
.featured-section .featured-heading h2 { margin:0; font:500 clamp(32px,3.8vw,54px)/1.08 var(--font-heading); letter-spacing:-.045em; }
.featured-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); align-items:stretch; gap:20px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:1px; scrollbar-width:none; padding:3px 1px; }
.featured-grid[data-count="1"] { grid-auto-columns:minmax(0,min(100%,620px)); }
.featured-grid[data-count="2"] { grid-auto-columns:calc((100% - 20px)/2); }
.featured-grid::-webkit-scrollbar { display:none; }
.featured-card { min-width:0; scroll-snap-align:start; }
.featured-open { display:flex; flex-direction:column; width:100%; height:100%; min-height:clamp(320px,45svh,400px); padding:0; overflow:hidden; border:1px solid var(--theme-line); border-radius:18px; background:var(--theme-surface); color:inherit; text-align:left; cursor:pointer; }
.featured-cover { position:relative; flex:1; display:block; width:100%; min-height:190px; overflow:hidden; background:var(--theme-raised); }
.featured-cover img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.featured-cover-fallback { position:absolute; inset:0; display:grid; place-items:center; color:var(--theme-muted); font:400 13px/1.5 var(--font-body); }
.featured-card-copy { display:block; padding:20px 22px; }
.featured-name { display:block; font:500 clamp(21px,1.8vw,25px)/1.2 var(--font-heading); letter-spacing:-.035em; overflow-wrap:anywhere; }
.featured-type { display:block; margin-top:6px; color:var(--theme-muted); font:400 12px/1.5 var(--font-body); }
.featured-open:focus-visible { outline:2px solid var(--theme-accent); outline-offset:-4px; }
.featured-grid:focus-visible,.featured-controls button:focus-visible { outline:2px solid var(--theme-accent); outline-offset:4px; }
.featured-loading { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.featured-loading > span { min-height:clamp(320px,45svh,400px); border-radius:18px; background:var(--theme-raised); }
.featured-loading > span:nth-child(n+4) { display:none; }
.featured-browse { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; }
.featured-browse[hidden] { display:none; }
.featured-position { margin:0; color:var(--theme-muted); font:400 12px/1.5 var(--font-body); font-variant-numeric:tabular-nums; }
.featured-controls { display:flex; gap:10px; }
.featured-controls button { display:grid; place-items:center; width:44px; height:44px; padding:12px; border:1px solid var(--theme-line); border-radius:50%; background:var(--theme-surface); color:var(--theme-ink); cursor:pointer; }
.featured-controls svg { width:18px; height:18px; }
.featured-controls button:disabled { opacity:.35; cursor:default; }
.featured-message { min-height:180px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; color:var(--theme-muted); font:400 14px/1.6 var(--font-body); }
.featured-loading[hidden],.featured-message[hidden],.featured-grid[hidden],.featured-thumbs[hidden],.featured-gallery-controls[hidden],.featured-cover img[hidden] { display:none; }
.featured-dialog { position:fixed; inset:0; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:var(--theme-bg); color:var(--theme-ink); overflow:hidden; }
.featured-dialog[open] { display:flex; flex-direction:column; }
.featured-dialog::backdrop { background:var(--theme-bg); }
.featured-dialog > .site-header { position:relative; top:auto; flex:none; width:100%; }
.featured-titlebar { flex:none; padding:12px var(--page-end-gutter) 12px var(--page-gutter); background:#616161; color:#fff; }
.featured-titlebar h2 { margin:0; font:400 11px/1.4 var(--font-body); letter-spacing:.07em; text-transform:uppercase; }
.featured-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; flex:1; padding:30px var(--page-end-gutter) 40px var(--page-gutter); }
.featured-detail { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:clamp(28px,4vw,64px); }
.featured-figure { min-width:0; margin:0; }
.featured-image-stage { position:relative; display:grid; place-items:center; height:clamp(260px,55dvh,720px); overflow:hidden; border-radius:14px; background:var(--theme-raised); touch-action:pan-y pinch-zoom; }
.featured-image-stage img { display:block; width:100%; height:100%; object-fit:contain; }
.featured-image-stage:focus-visible { outline:2px solid var(--theme-accent); outline-offset:4px; }
.featured-image-status { margin:12px 0 0; min-height:18px; color:var(--theme-muted); font:400 12px/1.5 var(--font-body); }
.featured-gallery-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }
.featured-gallery-count { margin:0; color:var(--theme-muted); font:400 12px/1.5 var(--font-body); font-variant-numeric:tabular-nums; }
.featured-gallery-controls { display:flex; gap:8px; }
.featured-gallery-controls button,.featured-retry { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--theme-line); border-radius:24px; background:var(--theme-surface); color:var(--theme-ink); cursor:pointer; }
.featured-gallery-controls button { width:44px; padding:12px; }
.featured-gallery-controls button:disabled { opacity:.35; cursor:default; }
.featured-gallery-controls svg { width:18px; height:18px; }
.featured-retry { padding:9px 18px; font:500 13px/1.5 var(--font-body); }
.featured-caption { margin-top:12px; }
.featured-caption strong { display:block; font:500 13px/1.5 var(--font-body); }
.featured-caption p { margin:5px 0 0; color:var(--theme-muted); font:400 12px/1.6 var(--font-body); white-space:pre-line; }
.featured-thumbs { display:flex; gap:10px; overflow-x:auto; margin-top:18px; padding:4px; scrollbar-width:thin; }
.featured-thumbs button { flex:0 0 76px; height:54px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:7px; background:var(--theme-raised); cursor:pointer; }
.featured-thumbs button[aria-pressed="true"] { border-color:var(--theme-accent); }
.featured-thumbs img { display:block; width:100%; height:100%; object-fit:cover; }
.featured-project-title { margin:0; font:500 clamp(28px,3vw,44px)/1.08 var(--font-heading); letter-spacing:-.04em; }
.featured-project-meta { margin:16px 0 0; color:var(--theme-muted); font:400 12px/1.65 var(--font-body); }
.featured-project-description { margin:22px 0 0; font:400 14px/1.75 var(--font-body); white-space:pre-line; overflow-wrap:anywhere; }
.featured-project-credits { margin:20px 0 0; color:var(--theme-muted); font:400 12px/1.6 var(--font-body); white-space:pre-line; }
.featured-project-start { margin-top:28px; }
.featured-dialog :is(button,a):focus-visible { outline:2px solid var(--theme-accent); outline-offset:4px; }
@media(hover:hover) { .featured-controls button:not(:disabled):hover,.featured-gallery-controls button:not(:disabled):hover,.featured-retry:hover { background:var(--theme-raised); } }
@media(prefers-reduced-motion:no-preference) {
 .featured-cover img { transition:transform 150ms cubic-bezier(.2,0,0,1); }
 .featured-dialog[open] .featured-content { animation:featured-enter 180ms cubic-bezier(.2,0,0,1); }
 @media(hover:hover) { .featured-open:hover .featured-cover img { transform:scale(1.015); } }
}
@keyframes featured-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@media(max-width:980px) { .featured-section { --featured-header-height:68px; } .featured-grid { grid-auto-columns:calc((100% - 20px)/2); } .featured-loading { grid-template-columns:repeat(2,minmax(0,1fr)); } .featured-loading > span:nth-child(n+3) { display:none; } }
@media(max-width:760px) {
 .featured-grid,.featured-grid[data-count="1"],.featured-grid[data-count="2"] { grid-auto-columns:100%; padding-inline:6%; scroll-padding-inline:6%; gap:14px; }
 .featured-card { scroll-snap-align:center; }
 .featured-open { min-height:370px; }
 .featured-loading { grid-template-columns:1fr; }
 .featured-loading > span { min-height:370px; }
 .featured-loading > span:not(:first-child) { display:none; }
 .featured-content { padding-top:20px; }
 .featured-detail { grid-template-columns:1fr; gap:28px; }
 .featured-image-stage { height:auto; aspect-ratio:16/10; }
 .featured-name { font-size:23px; }
}
