/* VISUAL ARCHIVE: editorial collage, no card chrome or layout-driven hover motion. */
.archive-page{background:#080808;color:#f2f2f2;overflow-x:clip}
.archive-page.archive-dialog-open{overflow:hidden}
.archive-page button{font:inherit}
.archive-header{height:86px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #303030}
.archive-brand{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.09em}
.archive-brand-dot{color:#ff2028}
.archive-header nav{display:flex;align-items:center;gap:clamp(22px,4vw,62px);font:11px var(--mono);letter-spacing:.08em}
.archive-header nav a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.archive-header nav a:hover{color:#ff2028}
.archive-hero{min-height:clamp(590px,84svh,920px);padding:50px var(--gutter) 32px;display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;overflow:hidden}
.archive-hero::before{content:"";position:absolute;right:-13vw;top:5%;width:55vw;height:55vw;max-width:850px;max-height:850px;border-radius:50%;background:radial-gradient(circle,#5f0b109c 0%,#22080a76 37%,transparent 70%);filter:blur(35px);z-index:-1;pointer-events:none}
.archive-hero-kicker,.archive-hero-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#858585;font:11px var(--mono);letter-spacing:.13em}
.archive-hero-kicker span:first-child,.archive-hero-foot span:first-child{color:#ff2028}
.archive-hero-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,320px);gap:5vw;align-items:end;margin:40px 0 70px}
.archive-hero h1{font-family:var(--sans);font-size:clamp(94px,13.8vw,238px);font-weight:800;line-height:.79;letter-spacing:-.105em;white-space:nowrap}
.archive-hero h1 span{color:#ff2028}
.archive-hero-main>p{padding:0 0 15px 20px;border-left:2px solid #ff2028;color:#a3a3a3;font-size:14px;line-height:1.9}
.archive-hero-foot{border-top:1px solid #3a3a3a;padding-top:20px}

.archive-section{max-width:1800px;margin:0 auto;padding:110px var(--gutter) 170px}
.archive-section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:64px}
.archive-kicker{color:#ff2028;font:11px var(--mono);letter-spacing:.14em}
.archive-section-heading h2{margin-top:12px;font-size:clamp(38px,4.8vw,72px);font-weight:700;line-height:1.17;letter-spacing:-.06em}
.archive-section-heading h2 span{color:#ff2028}
.archive-section-heading>p{color:#858585;font-size:14px;line-height:1.8}
.archive-filter-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:82px;margin-bottom:64px;border-top:1px solid #383838;border-bottom:1px solid #383838;background:#080808f2;backdrop-filter:blur(16px)}
.archive-filters{display:flex;align-items:center;gap:clamp(15px,2.7vw,43px);overflow-x:auto;scrollbar-width:none}
.archive-filters::-webkit-scrollbar{display:none}
.archive-filters button{position:relative;flex:none;min-height:52px;padding:12px 0;border:0;background:none;color:#858585;font:11px var(--mono);letter-spacing:.12em;white-space:nowrap;transition:color .2s}
.archive-filters button::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#ff2028;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.archive-filters button:hover,.archive-filters button[aria-pressed="true"]{color:#f2f2f2}
.archive-filters button[aria-pressed="true"]::after{transform:scaleX(1)}
#archive-count{flex:none;color:#858585;font:10px var(--mono);letter-spacing:.12em}

.archive-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;column-gap:clamp(14px,2vw,32px);row-gap:clamp(56px,6.7vw,120px);align-items:start}
.archive-item{grid-column:span var(--span);display:block;width:100%;min-width:0;margin:var(--offset,0) 0 0;padding:0;position:relative;z-index:1;border:0;background:none;color:#f2f2f2;text-align:left;cursor:pointer;transform-origin:center center;transition:transform .55s cubic-bezier(.18,.74,.2,1),opacity .8s ease,filter .55s ease;transition-delay:0s,var(--delay,0ms),0s}
.archive-item[hidden]{display:none!important}
.archive-item--offset-small{--offset:48px}
.archive-item--offset-medium{--offset:82px}
.archive-item--offset-large{--offset:122px}
.archive-item__media{display:block;position:relative;width:100%;overflow:hidden;background:#161616;aspect-ratio:var(--ratio)}
.archive-item__media img,.archive-item__media video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--object-position,center);filter:brightness(.86);transition:filter .55s ease,opacity .3s ease}
.archive-item__media video{opacity:0;pointer-events:none}
.archive-item.is-playing .archive-item__media video{opacity:1}
.archive-item__media::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#080808cc,transparent);opacity:0;transition:opacity .45s ease;pointer-events:none}
.archive-item__type{position:absolute;top:18px;left:18px;z-index:2;padding:8px 10px;background:#080808b8;color:#f2f2f2;font:10px var(--mono);letter-spacing:.12em}
.archive-item__type--motion{color:#ff2028}
.archive-item__meta{position:absolute;left:clamp(15px,2vw,30px);right:clamp(15px,2vw,30px);bottom:clamp(15px,2vw,30px);z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:5px;opacity:0;transform:translateY(14px);transition:transform .45s ease,opacity .45s ease;pointer-events:none}
.archive-item__category{color:#ff2028;font:10px var(--mono);letter-spacing:.13em}
.archive-item__title{font-size:clamp(17px,2vw,30px);font-weight:650;line-height:1.3;letter-spacing:-.04em}
.archive-item__action{margin-top:9px;font:10px var(--mono);letter-spacing:.14em}
.archive-item:hover,.archive-item:focus-visible{z-index:7;transform:scale(1.055)}
.archive-item:hover .archive-item__media img,.archive-item:focus-visible .archive-item__media img{filter:brightness(1.05)}
.archive-item:hover .archive-item__media::after,.archive-item:focus-visible .archive-item__media::after,.archive-item:hover .archive-item__meta,.archive-item:focus-visible .archive-item__meta{opacity:1}
.archive-item:hover .archive-item__meta,.archive-item:focus-visible .archive-item__meta{transform:translateY(0)}
.archive-enhanced .archive-item:not(.revealed){opacity:0;transform:translateY(28px)}
.archive-enhanced .archive-item.revealed{opacity:1}
.archive-noscript{margin-top:35px;color:#a0a0a0}
.archive-noscript a{color:#ff2028;text-decoration:underline}

.archive-cursor-preview{position:fixed;left:0;top:0;width:290px;height:210px;z-index:100;opacity:0;pointer-events:none;transform:translate3d(-400px,-400px,0);transition:opacity .25s ease;box-shadow:0 22px 60px #000b}
.archive-cursor-preview.is-visible{opacity:1}
.archive-cursor-preview img{display:block;width:100%;height:100%;object-fit:cover}
.archive-cursor-preview::after{content:"VIEW / BARRY";position:absolute;bottom:0;left:0;right:0;padding:10px 12px;background:linear-gradient(0deg,#080808dc,transparent);color:#f2f2f2;font:10px var(--mono);letter-spacing:.13em}

.archive-footer{display:flex;justify-content:space-between;align-items:end;gap:26px;min-height:250px;padding:70px var(--gutter) 40px;border-top:1px solid #333;background:#0c0c0c}
.archive-footer p{font-size:clamp(26px,3vw,46px);font-weight:700;line-height:1;letter-spacing:-.05em}
.archive-footer a{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-height:44px;border-bottom:1px solid #ff2028;color:#ff2028;font:12px var(--mono);letter-spacing:.08em}
.archive-footer>span{color:#858585;font:10px var(--mono);letter-spacing:.08em}

.archive-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#080808;color:#f2f2f2;overflow:hidden}
.archive-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.archive-lightbox::backdrop{background:#000}
.archive-lightbox-toolbar,.archive-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,64px)}
.archive-lightbox-toolbar{border-bottom:1px solid #333;color:#858585;font:10px var(--mono);letter-spacing:.13em}
.archive-lightbox-toolbar button{min-height:44px;padding:8px 0 8px 18px;border:0;background:none;color:#f2f2f2;font:11px var(--mono);letter-spacing:.1em}
.archive-lightbox-toolbar button span{margin-left:20px;color:#ff2028;font-size:21px}
.archive-lightbox-toolbar button:hover{color:#ff2028}
.archive-lightbox-stage{display:grid;place-items:center;min-height:0;padding:clamp(12px,3vw,34px);overflow:hidden}
.archive-lightbox-stage img,.archive-lightbox-stage video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.archive-lightbox-stage video{width:min(100%,1200px);max-height:100%}
.archive-lightbox-footer{border-top:1px solid #333}
.archive-lightbox-footer p{color:#ff2028;font:10px var(--mono);letter-spacing:.13em}
.archive-lightbox-footer h2{margin-top:3px;font-size:clamp(19px,2.2vw,32px);font-weight:650;letter-spacing:-.04em}
.archive-lightbox-controls{display:flex;align-items:center;gap:18px;color:#858585;font:10px var(--mono);white-space:nowrap}
.archive-lightbox-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #555;background:none;color:#f2f2f2;font-size:20px;transition:background .2s,border-color .2s}
.archive-lightbox-controls button:hover{background:#ff2028;border-color:#ff2028;color:#080808}
.archive-lightbox-controls button:disabled{opacity:.4;cursor:default}

@media(max-width:1100px){
  .archive-hero-main{grid-template-columns:1fr;gap:48px}
  .archive-hero-main>p{max-width:450px}
  .archive-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}
  .archive-item{grid-column:span 3}
  .archive-item:nth-child(4n+1){grid-column:span 6}
}
@media(max-width:760px){
  .archive-header{height:70px}
  .archive-brand{font-size:24px}
  .archive-header nav{gap:20px;font-size:10px}
  .archive-header nav a:last-child{display:none}
  .archive-hero{min-height:650px;padding-top:28px;padding-bottom:24px}
  .archive-hero-kicker span:last-child,.archive-hero-foot span:last-child{display:none}
  .archive-hero-main{margin:50px 0 72px;gap:58px}
  .archive-hero h1{font-size:clamp(56px,13vw,86px);letter-spacing:-.09em}
  .archive-hero-main>p{padding-left:15px;font-size:13px}
  .archive-section{padding:78px var(--gutter) 100px}
  .archive-section-heading{display:block;margin-bottom:40px}
  .archive-section-heading>p{margin-top:20px;font-size:13px}
  .archive-filter-bar{gap:18px;min-height:75px;margin-bottom:42px}
  .archive-filters{gap:26px;min-width:0}
  .archive-filters button{font-size:10px}
  #archive-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .archive-gallery{grid-template-columns:1fr;row-gap:46px}
  .archive-item,.archive-item:nth-child(4n+1){grid-column:1/-1;margin-top:0}
  .archive-item:hover,.archive-item:focus-visible{transform:none}
  .archive-item__media img,.archive-item__media video{filter:none}
  .archive-item__media::after{display:none}
  .archive-item__meta{position:static;opacity:1;transform:none;margin-top:13px;gap:3px}
  .archive-item__category{font-size:9px}
  .archive-item__title{font-size:22px}
  .archive-item__action{margin-top:2px;color:#858585}
  .archive-item__type{top:12px;left:12px}
  .archive-cursor-preview{display:none}
  .archive-footer{flex-direction:column;align-items:start;min-height:0;padding:65px var(--gutter) 35px}
  .archive-lightbox-toolbar,.archive-lightbox-footer{padding:12px 18px}
  .archive-lightbox-toolbar{font-size:9px}
  .archive-lightbox-stage{padding:12px}
  .archive-lightbox-footer{align-items:end}
  .archive-lightbox-controls{gap:8px}
  .archive-lightbox-controls button{width:40px;height:40px}
}
@media(max-width:390px){
  .archive-hero h1{font-size:55px}
  .archive-lightbox-controls span{display:none}
}
@media(hover:none){
  .archive-item:hover{transform:none}
  .archive-item__media img{filter:none}
  .archive-item__media::after{display:none}
  .archive-item__meta{position:static;opacity:1;transform:none;margin-top:13px;gap:3px}
  .archive-item__action{color:#858585}
  .archive-cursor-preview{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .archive-item,.archive-item__media img,.archive-item__media video,.archive-item__meta,.archive-cursor-preview,.archive-filters button,.archive-filters button::after{transition:none!important;animation:none!important}
  .archive-enhanced .archive-item:not(.revealed){opacity:1;transform:none}
}
