
:root{
  --bg:#050505;
  --panel:#0b0b0b;
  --panel2:#101010;
  --line:rgba(255,255,255,.14);
  --muted:rgba(255,255,255,.58);
  --soft:rgba(255,255,255,.76);
  --max:1420px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);color:#fff;font-family:Arial,Helvetica,sans-serif}
body{margin:0;background:var(--bg);color:#fff}
body.lightbox-open{overflow:hidden}
a{color:inherit}
.sig{font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-style:italic;font-weight:400;letter-spacing:-.05em}
.small,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.small{color:var(--muted)}
.eyebrow{margin:0 0 16px;color:rgba(255,255,255,.48)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(255,255,255,.3);background:#111;color:#fff;padding:12px 18px;margin:0;text-decoration:none;cursor:pointer;font:600 11px/1 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:.2s}
.btn:hover{border-color:#fff;background:#181818}
.btn.primary{background:#fff;color:#000;border-color:#fff}
.btn.primary:hover{background:#ddd}
.age{position:fixed;inset:0;background:#000;z-index:999;display:grid;place-items:center;text-align:center}
.age.hidden{display:none}
.agebox{max-width:590px;padding:48px 28px}
.agebox .sig{font-size:58px}
.agebox h2{font:500 clamp(30px,5vw,52px)/1.02 Georgia,serif;margin:24px 0 16px}
.agebox p:not(.small){color:#aaa;line-height:1.7}
.agebox .btn{margin:6px}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,64px);background:rgba(5,5,5,.82);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}
.brand{text-decoration:none}
.brand .sig{font-size:29px;line-height:1}
.brand .small{margin-top:4px}
.header-actions{display:flex;align-items:center;gap:20px}
.back-link{font-size:12px;text-decoration:none;color:#ddd;border-bottom:1px solid #555;padding-bottom:3px}
.back-link:hover{border-color:#fff}
.archive-hero{max-width:var(--max);min-height:calc(100vh - 76px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);overflow:hidden;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}
.hero-gallery{position:relative;min-height:700px;display:grid;grid-template-columns:1.3fr .7fr;gap:8px;padding:8px;background:#090909;overflow:hidden}
.hero-stack{display:grid;grid-template-rows:1fr 1fr;gap:8px}
.hero-frame{min-height:0;background-size:cover;background-position:center;filter:saturate(.88) contrast(1.04);transition:transform 1s ease,filter .5s ease}
.hero-frame-main{background-position:center 24%}
.hero-stack .hero-frame:first-child{background-position:center 18%}
.hero-stack .hero-frame:last-child{background-position:center 25%}
.hero-gallery:hover .hero-frame{filter:saturate(1) contrast(1.02)}
.hero-gallery:hover .hero-frame-main{transform:scale(1.01)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.46)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 30%);pointer-events:none}
.hero-index{position:absolute;left:28px;bottom:26px;padding:8px 10px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,96px);background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.07),transparent 28%),linear-gradient(145deg,#111 0%,#080808 45%,#050505 100%);border-left:1px solid rgba(255,255,255,.12)}
.hero-copy:before{content:"";position:absolute;left:0;top:13%;bottom:13%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.55),transparent)}
.hero-signature{font-size:clamp(48px,6vw,88px);color:rgba(255,255,255,.22);margin:0 0 -24px 8px}
.hero-copy h1{font:400 clamp(62px,8vw,118px)/.82 Georgia,"Times New Roman",serif;letter-spacing:-.065em;margin:0 0 34px;max-width:620px}
.hero-lead{font-size:15px;line-height:1.85;color:rgba(255,255,255,.68);max-width:570px;margin:0}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:42px 0 34px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.13)}
.hero-meta>div{background:#0a0a0a;padding:18px 14px}
.hero-meta strong{display:block;font:500 19px/1.1 Georgia,serif}
.hero-meta span{display:block;color:#777;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:7px}
.hero-cta{align-self:flex-start}
.collection-section,.viewer-section{max-width:var(--max);margin:0 auto;padding:clamp(68px,8vw,116px) clamp(20px,5vw,76px);border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}
.collection-section{background:#070707}
.section-heading,.viewer-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:42px}
.section-heading h2,.viewer-heading h2{font:400 clamp(42px,5vw,72px)/.95 Georgia,serif;letter-spacing:-.04em;margin:0}
.section-heading>p{max-width:560px;margin:0;color:#858585;line-height:1.75}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;align-items:stretch}
.collection-card{appearance:none;display:flex;flex-direction:column;min-height:100%;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#111,#0c0c0c);color:#fff;text-align:left;padding:0;cursor:pointer;overflow:hidden;transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease}
.collection-card:hover,.collection-card.active{transform:translateY(-4px);border-color:rgba(255,255,255,.45);background:#111;box-shadow:0 18px 48px rgba(0,0,0,.25)}
.collection-cover{position:relative;display:block;aspect-ratio:5/4;overflow:hidden;background:#111}
.collection-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease,filter .35s ease}
.collection-card:hover .collection-cover img{transform:scale(1.035);filter:brightness(.86)}
.collection-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.58) 100%)}
.collection-count{position:absolute;right:14px;bottom:14px;padding:7px 9px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.22);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.collection-info{display:block;padding:22px 22px 20px}
.collection-info .small{display:block}
.collection-info strong{display:block;font:400 30px/1.05 Georgia,serif;margin:11px 0 19px}
.open-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding-top:15px;color:#bdbdbd;font-size:12px}
.open-label b{font-size:18px;font-weight:400}
.availability-note{margin:22px 0 0;padding:14px 18px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;line-height:1.7}
.viewer-section{padding-top:88px;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.13)}
.viewer-section[hidden]{display:none}
.viewer-meta{display:flex;align-items:center;gap:20px;color:#777;font-size:12px}
.text-button{border:0;background:none;color:#cfcfcf;cursor:pointer;padding:8px 0;border-bottom:1px solid #444}
.text-button:hover{color:#fff;border-color:#fff}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}
.photo-card{position:relative;display:block;width:100%;padding:0;border:0;background:#111;cursor:pointer;overflow:hidden;aspect-ratio:4/5}
.photo-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease,opacity .3s ease}
.photo-card:hover img{transform:scale(1.03);opacity:.82}
.photo-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:34px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.86));opacity:0;transition:.22s;color:#fff;font-size:10px;letter-spacing:.05em}
.photo-card:hover .photo-overlay{opacity:1}
.photo-overlay b{font-weight:600}
.load-more-wrap{text-align:center;padding:38px 0 0}
.load-more{min-width:220px}
.load-more[hidden]{display:none}
.load-more-wrap .small{margin-top:13px}
.archive-note{max-width:var(--max);margin:0 auto;padding:64px clamp(20px,5vw,76px);display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:center;border:1px solid rgba(255,255,255,.08);border-top-color:rgba(255,255,255,.14);background:linear-gradient(100deg,#090909,#050505)}
.archive-note .sig{font-size:clamp(44px,6vw,76px);color:rgba(255,255,255,.72)}
.archive-note p{max-width:760px;line-height:1.7;color:#aaa}
.archive-note .notice{font-size:11px;color:#666}
.light{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:4vw}
.light.open{display:flex}
.light-image-wrap{display:grid;place-items:center;width:100%;height:100%}
.light img{max-width:82vw;max-height:86vh;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.tools{position:fixed;right:22px;bottom:22px;background:rgba(8,8,8,.9);border:1px solid rgba(255,255,255,.2);padding:10px;max-width:280px;backdrop-filter:blur(14px)}
.tools-label{margin:11px 8px 6px}
.wall-actions{display:flex;flex-wrap:wrap;gap:6px}
.wall-actions .btn{padding:10px 11px;min-height:38px}
.close{position:fixed;right:22px;top:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:28px;cursor:pointer;z-index:2}
.close:hover{background:#fff;color:#000}
footer{max-width:var(--max);margin:0 auto;padding:48px clamp(20px,5vw,76px) 58px;text-align:center;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.08)}
footer .sig{font-size:34px;color:#666}
footer p{margin:8px 0 0}
@media(max-width:1100px){
  .archive-hero{grid-template-columns:1fr;min-height:auto}
  .hero-gallery{min-height:64vh}
  .hero-copy{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .hero-copy:before{display:none}
}
@media(max-width:720px){
  .site-header{padding:12px 16px}
  .brand .sig{font-size:24px}
  .header-actions .small{display:none}
  .back-link{font-size:10px}
  .hero-gallery{min-height:56vh;grid-template-columns:1.35fr .65fr;gap:4px;padding:4px}
  .hero-stack{gap:4px}
  .hero-index{left:14px;bottom:14px}
  .hero-copy{padding:54px 22px 62px}
  .hero-signature{font-size:52px;margin-bottom:-15px}
  .hero-copy h1{font-size:64px;margin-bottom:26px}
  .hero-meta{grid-template-columns:1fr;margin-top:30px}
  .hero-meta>div{display:flex;align-items:center;justify-content:space-between}
  .hero-meta span{margin:0}
  .collection-section,.viewer-section{padding:66px 14px}
  .section-heading,.viewer-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}
  .collection-grid{grid-template-columns:1fr;gap:14px}
  .collection-cover{aspect-ratio:16/10}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .photo-overlay{display:none}
  .viewer-meta{width:100%;justify-content:space-between}
  .archive-note{grid-template-columns:1fr;gap:15px;padding:48px 22px}
  .tools{left:10px;right:10px;bottom:10px;max-width:none}
  .light{padding:60px 8px 150px}
  .light img{max-width:96vw;max-height:72vh}
  .close{right:12px;top:12px}
}
@media(max-width:420px){
  .hero-gallery{min-height:48vh}
  .hero-copy h1{font-size:56px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collection-info strong{font-size:28px}
}
