.featured-composition{overflow:hidden;background:#171717;aspect-ratio:1.95}
.featured-three{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:8px}
.featured-composition img{width:100%;height:100%;min-height:0;object-fit:cover}
.featured-three img:first-child{grid-row:1/3}
.featured-single{aspect-ratio:3/2}
.latest .featured-composition{background:transparent}
.latest .featured-tile{display:block;min-width:0;min-height:0;overflow:hidden}
.latest .featured-three .featured-tile:first-child{grid-row:1/3}
.latest .featured-single .featured-tile{height:100%}
.latest .latest-grid{grid-template-columns:1.9fr 1fr;gap:5%}
body:has(.admin-wrap){--bg:#101010;--panel:#1b1b1b;--muted:#aaa;--line:#3c3c3c;background:linear-gradient(#101010f5,#101010f5),url('/assets/mineral-grain.svg') 0 0/380px,#101010}
.admin-wrap input,.admin-wrap select{border-color:#565656}
.admin-wrap .dropzone:hover,.admin-wrap .dropzone.dragging{background:#242424}
.featured-fields{border-top:1px solid var(--line);margin-top:44px;padding-top:32px}
.featured-fields h2{font-family:Consolas,monospace;font-size:18px;color:var(--muted);letter-spacing:0;margin-bottom:14px}
.featured-fields h2 span{font-family:Arial,sans-serif;color:var(--text);font-size:24px;margin-left:12px}
.featured-fields>p{max-width:80ch}
.featured-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 16px}
.featured-slot h3{font-size:18px;margin-bottom:12px;letter-spacing:0}
.featured-drop{position:relative;min-height:190px;background:#1b1b1b;border:1px dashed #666;display:flex;justify-content:center;align-items:center;padding:16px;text-align:center;cursor:pointer;font-size:13px}
.featured-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.featured-drop img{height:145px;object-fit:contain;width:100%}
.featured-drop:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.featured-drop.dragging,.featured-drop:hover{border-color:var(--accent)}
.featured-slot .filename{margin-top:10px;overflow-wrap:anywhere;color:#aaa}
.featured-slot .text-link{font-size:12px;min-height:44px}
.admin-featured-preview{max-width:900px;margin:28px 0}
.admin-featured-preview h3{font-size:22px;margin-bottom:16px}
.photo-grid{gap:15px}
.photo-row .filename{color:#a4a4a4}
.photo-row .photo-caption .text-link{color:#aaa;font-weight:400}
.photo-row .photo-caption .text-link:hover{color:var(--accent)}
.photo-row .text-link .ui-icon{color:currentColor}
@media(max-width:760px){.latest .latest-grid{grid-template-columns:1fr}.featured-slots{grid-template-columns:1fr}.featured-drop{min-height:180px}.photo-grid{gap:13px}}
@media(max-width:640px){.featured-three{aspect-ratio:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:6px}.featured-three img{aspect-ratio:3/2}.featured-three img:first-child{grid-row:auto;grid-column:1/3}.latest .latest-grid{gap:24px}}

.admin-global-status{margin:0 0 24px;padding:12px 14px;border:1px solid var(--line);color:var(--muted)}
.admin-global-status[data-type="success"]{color:var(--accent)}.admin-global-status[data-type="error"]{color:#ff9e8e}
.admin-real-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,2fr);gap:36px;align-items:start}
.admin-session-list,.admin-editor{border:1px solid var(--line);background:rgba(19,19,19,.72);padding:24px}
.admin-session-list{position:sticky;top:24px}.admin-list-head,.admin-editor-head,.admin-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-list-head h2,.admin-editor-head h2{font-size:28px;margin-top:6px}.admin-list-items{display:grid;gap:8px;margin-top:22px}
.admin-session-item{display:grid;gap:5px;width:100%;text-align:left;padding:14px;background:var(--panel);border:1px solid transparent;color:var(--text)}
.admin-session-item:hover,.admin-session-item.is-active{border-color:var(--accent)}.admin-session-item span{font-size:12px;color:var(--muted)}.admin-empty-list{margin-top:22px}
.admin-state{padding:7px 10px;border:1px solid var(--line);font-size:12px}.admin-state.published{color:var(--accent)}
.admin-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.admin-wide{grid-column:1/-1}.admin-fields-grid textarea{resize:vertical;background:var(--panel);color:var(--text);border:1px solid #565656;padding:12px 14px;font:inherit}
.admin-media{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.admin-action-row{justify-content:flex-start;margin-bottom:30px}.button.danger{border-color:#8b4f49;color:#ffb2a8}
.admin-upload-block{border-top:1px solid var(--line);padding-top:28px}.admin-upload-block>h3,.featured-fields>h3{font-size:24px;margin-bottom:8px}.dropzone.compact{min-height:150px;margin:18px 0 14px}
.admin-photo-manager{margin-top:30px}.admin-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.admin-photo-grid label{position:relative;display:grid;align-content:start;gap:7px;background:var(--panel);padding:8px}.admin-photo-grid label>input{position:absolute;z-index:2;top:10px;left:10px;width:22px;height:22px;min-height:0;accent-color:var(--accent)}
.admin-photo-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.admin-photo-grid .filename{font-size:11px}.admin-photo-grid .text-link{font-size:12px;justify-self:start}.muted-action{color:var(--muted);margin-left:12px}
.real-featured{overflow:hidden}.real-featured img{width:100%;height:150px;object-fit:cover}
@media(max-width:1000px){.admin-real-layout{grid-template-columns:1fr}.admin-session-list{position:static}.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.admin-fields-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-list-head,.admin-editor-head{align-items:flex-start;flex-direction:column}.admin-session-list,.admin-editor{padding:18px}}

/* Compact session grid and pointer-only motion; no changes to Admin or Hero. */
.photo-section .photo-grid{gap:8px}
@media(max-width:640px){
 .latest .featured-three .featured-tile:first-child{grid-row:auto;grid-column:1/3}
 .latest .featured-three .featured-tile{aspect-ratio:3/2}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .photo-row .photo-open>img,.latest .featured-tile>img{transition:transform 210ms ease}
 .photo-row .photo-open:hover>img{transform:scale(1.17)}
 .latest .featured-tile:hover>img{transform:scale(1.02)}
}
