/* ================================================================
   THE PRETTY GIRL FILES — HOMEPAGE
   65% glossy editorial / 25% personal archive / 10% classified
   ================================================================ */


body.home{
  background:
    radial-gradient(circle at 16% 12%,rgba(255,255,255,.36),transparent 22%),
    radial-gradient(circle at 88% 36%,rgba(231,42,118,.1),transparent 19%),
    var(--paper);
}


.pgf-home{position:relative; overflow:hidden;}
.pgf-home::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.16;
  background-image:linear-gradient(rgba(122,16,48,.08) 1px,transparent 1px);
  background-size:100% 32px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 85%,transparent 100%);
}


/* HERO */
.home .pgf-hero{
  min-height:calc(100vh - 132px); padding:0 5vw 34px; display:block;
  background:
    linear-gradient(120deg,rgba(255,255,255,.45),transparent 46%),
    linear-gradient(165deg,var(--paper) 0%,#F7B4CF 100%);
  isolation:isolate;
}
.home .pgf-hero::after{
  content:"PGF / PRIVATE ARCHIVE"; position:absolute; right:-72px; top:44%; z-index:-1;
  font:700 10px/1 'Space Mono',monospace; letter-spacing:.34em; color:rgba(122,16,48,.35);
  transform:rotate(90deg);
}
.pgf-hero-system{
  width:min(1220px,100%); margin:0 auto; padding:15px 0 13px;
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  border-bottom:1px solid rgba(28,20,20,.25);
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(28,20,20,.66);
}
.pgf-access-copy{color:var(--wine); transition:color .3s ease;}
.pgf-access-copy.is-open{color:var(--pink);}
.pgf-hero-layout{
  width:min(1220px,100%); min-height:clamp(570px,67vh,760px); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.68fr); align-items:center; gap:clamp(48px,8vw,120px);
}
.pgf-hero-copy{position:relative; padding:70px 0 54px;}
.home .pgf-eyebrow{
  display:inline-block; margin:0 0 25px; padding:7px 13px; transform:rotate(-1.5deg);
  border:1px solid var(--wine); background:rgba(255,252,246,.34); color:var(--wine);
  font-size:9px; letter-spacing:.19em;
}
.pgf-hero-copy h1{
  max-width:790px; margin:0; font-family:'Fraunces',serif; font-weight:400; font-style:normal;
  font-size:clamp(3.2rem,7.1vw,6.9rem); line-height:.87; letter-spacing:-.045em;
}
.pgf-hero-copy h1 em{color:var(--pink); font-weight:600;}
.home .pgf-hero p.lede{
  max-width:610px; margin:32px 0 34px; padding:0 0 0 18px; border-left:2px solid var(--pink);
  font-family:'Fraunces',serif; font-size:clamp(1rem,1.5vw,1.22rem); line-height:1.55; color:rgba(28,20,20,.72);
}
.pgf-hero-actions{display:flex; align-items:center; gap:30px; flex-wrap:wrap;}
.pgf-text-link{font-size:10px; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:4px;}
.pgf-hero-record{
  position:relative; width:100%; min-height:380px; padding:76px 36px 38px;
  background:#FFFCF6; border:1px solid var(--ink); transform:rotate(2.1deg);
  box-shadow:18px 18px 0 rgba(184,25,92,.18),0 28px 65px rgba(122,16,48,.2);
}
.pgf-hero-record::before{
  content:""; position:absolute; inset:10px; border:1px solid rgba(28,20,20,.12); pointer-events:none;
}
.pgf-record-tab{
  position:absolute; top:-1px; left:25px; background:var(--pink); color:#fff;
  padding:12px 17px; font-size:9px; letter-spacing:.12em; text-transform:uppercase;
}
.pgf-record-line{
  display:grid; grid-template-columns:92px 1fr; gap:15px; padding:13px 0;
  border-bottom:1px dotted rgba(28,20,20,.36); font-size:9px; letter-spacing:.08em; text-transform:uppercase;
}
.pgf-record-line span{color:rgba(28,20,20,.47);}
.pgf-record-line strong{font-weight:700;}
.pgf-record-redaction{height:16px; width:68%; margin:28px 0 14px; background:var(--wine); transform:rotate(-1deg);}
.pgf-record-note{font-size:28px; color:var(--pink); transform:rotate(-5deg); margin:11px 0 0 9%;}
.pgf-record-stamp{
  position:absolute; right:25px; bottom:26px; width:84px; height:84px; border:2px solid var(--wine); border-radius:50%;
  display:grid; place-items:center; text-align:center; color:var(--wine); font-size:9px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase;
  transform:rotate(-13deg); opacity:.74;
}
.pgf-hero-foot{
  width:min(1220px,100%); margin:0 auto; display:flex; justify-content:space-between; gap:20px;
  font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:rgba(28,20,20,.48);
}
.home .pgf-marquee{padding:12px 0;}
.home .pgf-marquee-track{font-size:10.5px;}


/* SHARED HOME STRUCTURE */
.pgf-home-section{width:min(1220px,100%); margin:0 auto; padding:clamp(88px,10vw,150px) 5vw; position:relative; z-index:1;}
.pgf-home-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:30px;
  margin-bottom:52px; padding-bottom:20px; border-bottom:1px solid var(--ink);
}
.pgf-kicker{font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--pink);}
.pgf-home-heading h2,.pgf-tip-copy h2,.pgf-personnel-file h2,.pgf-access-copy-block h2{
  margin:7px 0 0; font-size:clamp(2.4rem,5vw,4.8rem); font-weight:400; line-height:.95; letter-spacing:-.035em;
}
.pgf-home-heading h2 em,.pgf-tip-copy h2 em,.pgf-personnel-file h2 em,.pgf-access-copy-block h2 em{color:var(--pink);}
.pgf-margin-note{max-width:310px; margin:0 14px 4px 0; color:var(--wine); font-size:25px; transform:rotate(-2deg);}


/* ACTIVE CASE */
.pgf-active-section::before{
  content:"CURRENT CASE"; position:absolute; top:77px; right:5vw;
  font:700 clamp(3rem,8vw,7.5rem)/1 'Big Shoulders Display',sans-serif; letter-spacing:.02em;
  color:rgba(255,255,255,.24); z-index:-1;
}
.pgf-active-file{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:0; align-items:stretch;}
.pgf-evidence-photo{
  position:relative; min-height:570px; padding:24px; background:#FFFCF6; border:1px solid var(--ink); transform:rotate(-.6deg);
  box-shadow:-15px 17px 0 rgba(231,42,118,.16); overflow:hidden;
}
.pgf-evidence-photo img{width:100%; height:100%; min-height:520px; object-fit:cover; filter:saturate(.94) contrast(1.02);}
.pgf-evidence-label{
  position:absolute; z-index:2; top:37px; left:37px; padding:8px 10px; background:rgba(255,252,246,.9);
  font-size:8px; letter-spacing:.12em; text-transform:uppercase;
}
.pgf-photo-note{
  position:absolute; z-index:2; right:34px; bottom:31px; padding:2px 9px; background:var(--paper);
  color:var(--wine); font-size:25px; transform:rotate(-4deg);
}
.pgf-evidence-fallback{
  width:100%; height:100%; min-height:520px; display:grid; place-items:center;
  background:linear-gradient(145deg,#F8D8E4,#E72A76); color:#fff;
}
.pgf-evidence-fallback .hand{font-size:30px; transform:rotate(-4deg);}
.pgf-case-copy{
  position:relative; margin:44px 0 34px; padding:62px clamp(32px,5vw,68px) 50px;
  background:#FFFCF6; border:1px solid var(--ink); border-left:0; box-shadow:17px 17px 0 rgba(122,16,48,.13);
}
.pgf-case-copy::after{
  content:""; position:absolute; inset:10px; border:1px solid rgba(28,20,20,.08); pointer-events:none;
}
.pgf-case-tab{
  position:absolute; top:0; right:0; padding:11px 17px; background:var(--wine); color:#fff;
  font-size:9px; letter-spacing:.12em; text-transform:uppercase;
}
.pgf-case-meta{margin-bottom:38px;}
.pgf-case-meta > div{display:grid; grid-template-columns:1fr 1.35fr; gap:18px; padding:9px 0; border-bottom:1px dotted rgba(28,20,20,.3); font-size:8px; text-transform:uppercase; letter-spacing:.08em;}
.pgf-case-meta span{color:rgba(28,20,20,.48);}
.pgf-case-meta strong{font-weight:700;}
.pgf-case-title{font-size:8px; letter-spacing:.18em; text-transform:uppercase; color:var(--pink);}
.pgf-case-copy h3{font-size:clamp(2rem,3.2vw,3rem); line-height:1.05; font-weight:500; font-style:italic; margin:10px 0 18px;}
.pgf-case-copy > p{font-size:16px; line-height:1.7; color:rgba(28,20,20,.68); margin:0 0 29px;}


/* FOUND NOTE + PRETTY RUMOR */
.pgf-whispers{
  position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(38px,8vw,130px);
  padding:clamp(90px,11vw,150px) max(5vw,calc((100vw - 1220px)/2)); background:var(--ink); overflow:hidden;
}
.pgf-whispers::before{content:"LEAKED / UNFILED"; position:absolute; left:3vw; bottom:-13px; color:rgba(255,255,255,.04); font:900 clamp(5rem,14vw,13rem)/1 'Big Shoulders Display',sans-serif; white-space:nowrap;}
.pgf-desk-note{
  align-self:center; padding:46px clamp(30px,5vw,58px); background:#FFF9E9; color:var(--ink);
  transform:rotate(-2.2deg); box-shadow:12px 16px 0 var(--pink); position:relative;
}
.pgf-desk-note::before{content:""; position:absolute; top:-16px; left:35%; width:110px; height:34px; background:rgba(249,195,216,.78); transform:rotate(3deg);}
.pgf-desk-note h2{font-size:clamp(1.7rem,3vw,2.6rem); font-weight:400; font-style:italic; margin:8px 0 24px;}
.pgf-desk-note blockquote{font-size:clamp(1.7rem,3vw,2.7rem); line-height:1.08; color:var(--wine); margin:0;}
.pgf-note-footer{display:flex; justify-content:space-between; gap:20px; margin-top:34px; padding-top:13px; border-top:1px solid rgba(28,20,20,.2); font-size:8px; letter-spacing:.08em; text-transform:uppercase;}
.pgf-rumor-card{position:relative; padding:48px clamp(32px,5vw,60px); background:var(--pink); color:#fff; border:1px solid var(--paper); transform:rotate(1deg);}
.pgf-rumor-card::after{content:"UNVERIFIED"; position:absolute; right:23px; top:50%; border:2px solid rgba(255,255,255,.55); padding:7px 11px; transform:rotate(-90deg) translateX(50%); transform-origin:right center; font:700 9px/1 'Space Mono',monospace; letter-spacing:.14em;}
.pgf-rumor-top{display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.55); font-size:8px; letter-spacing:.15em; text-transform:uppercase;}
.pgf-rumor-number{font-size:9px; letter-spacing:.18em; text-transform:uppercase; margin-top:35px; color:#FFE8F1;}
.pgf-rumor-card h2{max-width:540px; font-size:clamp(2.2rem,4.5vw,4rem); line-height:1; font-weight:400; font-style:italic; margin:13px 0 35px;}
.pgf-rumor-card dl{max-width:430px; margin:0 0 32px; font-size:8px; letter-spacing:.08em; text-transform:uppercase;}
.pgf-rumor-card dl div{display:grid; grid-template-columns:120px 1fr; gap:12px; padding:9px 0; border-bottom:1px dotted rgba(255,255,255,.5);}
.pgf-rumor-card dt{opacity:.65;}.pgf-rumor-card dd{margin:0;font-weight:700;}
.pgf-underline-link{display:inline-block; padding-bottom:5px; border-bottom:1px solid #fff; font-size:9px; letter-spacing:.12em; text-transform:uppercase;}


/* ARCHIVE CABINET */
.pgf-archive-section{width:min(1320px,100%);}
.pgf-cabinet-shell{
  position:relative; padding:28px clamp(18px,3vw,38px) 34px; background:linear-gradient(145deg,#9A244B,#681027);
  border:1px solid #4D0C1D; box-shadow:0 30px 60px rgba(122,16,48,.25),inset 0 0 0 7px rgba(255,255,255,.07);
}
.pgf-cabinet-label{
  display:flex; justify-content:space-between; gap:20px; margin-bottom:21px; padding:0 7px 12px;
  border-bottom:1px solid rgba(255,255,255,.2); color:#FFD9E7; font-size:8px; letter-spacing:.14em; text-transform:uppercase;
}
.pgf-drawers{display:grid; grid-template-columns:1fr 1fr; gap:15px 17px;}
.pgf-drawer{position:relative; display:block; min-height:142px; padding-top:17px; perspective:900px;}
.pgf-folder-peek{
  position:absolute; left:7%; top:10px; width:72%; height:54px; background:var(--paper); border:1px solid rgba(28,20,20,.3);
  transform:translateY(9px); transition:transform .32s cubic-bezier(.2,.8,.2,1); box-shadow:0 2px 8px rgba(28,20,20,.2);
}
.pgf-folder-peek::before{content:""; position:absolute; left:-1px; top:-11px; width:35%; height:12px; background:var(--paper); border:1px solid rgba(28,20,20,.3); border-bottom:0;}
.pgf-drawer-face{
  position:relative; z-index:1; min-height:125px; padding:19px 28px 20px; display:grid;
  grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; column-gap:24px;
  background:linear-gradient(145deg,#FFFDF8,#F6EDE8); border:1px solid #371018;
  box-shadow:0 8px 0 #4D0C1D,0 11px 16px rgba(28,20,20,.35);
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease;
}
.pgf-drawer:nth-child(2n) .pgf-drawer-face{background:linear-gradient(145deg,#FBD3E2,#F7BED4);}
.pgf-drawer-code{font-size:8px; letter-spacing:.11em; text-transform:uppercase; color:var(--wine);}
.pgf-drawer-handle{
  grid-column:2; grid-row:1/3; align-self:start; width:80px; height:34px; padding:6px;
  background:linear-gradient(#D9D8DE,#A4A3AB); border:1px solid #77767C; box-shadow:inset 0 0 0 2px rgba(255,255,255,.38);
}
.pgf-drawer-handle i{display:block; width:100%; height:100%; background:#FCFAF5; border:1px solid #85848B;}
.pgf-drawer strong{align-self:end; font-size:clamp(1.3rem,2.3vw,2rem); font-weight:500; font-style:italic; line-height:1;}
.pgf-drawer-reveal{
  grid-column:1/-1; max-height:0; opacity:0; overflow:hidden; font-size:19px; color:var(--pink);
  transform:translateY(7px); transition:.28s ease;
}
.pgf-drawer:hover .pgf-folder-peek,.pgf-drawer:focus-visible .pgf-folder-peek{transform:translateY(-7px) rotate(-1deg);}
.pgf-drawer:hover .pgf-drawer-face,.pgf-drawer:focus-visible .pgf-drawer-face{transform:translateY(9px); box-shadow:0 13px 0 #4D0C1D,0 18px 22px rgba(28,20,20,.4);}
.pgf-drawer:hover .pgf-drawer-reveal,.pgf-drawer:focus-visible .pgf-drawer-reveal{max-height:50px; opacity:1; margin-top:10px;}
.pgf-cabinet-base{height:17px; margin:32px 2% -44px; background:#4D0C1D; box-shadow:0 12px 15px rgba(28,20,20,.32);}


/* RECENTLY FILED */
.pgf-recent-section{padding-top:110px;}
.pgf-recent-files{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px);}
.pgf-recent-file{
  position:relative; padding:17px 17px 27px; background:#FFFCF6; border:1px solid rgba(28,20,20,.23);
  box-shadow:9px 11px 0 rgba(231,42,118,.12); transition:transform .25s ease,box-shadow .25s ease;
}
.pgf-recent-file:nth-child(2){transform:rotate(1deg);}.pgf-recent-file:nth-child(3){transform:rotate(-.7deg);}
.pgf-recent-file:hover{transform:translateY(-8px) rotate(0); box-shadow:12px 17px 0 rgba(231,42,118,.2);}
.pgf-paperclip{position:absolute; z-index:2; top:-14px; left:30px; width:17px; height:55px; border:2px solid #9B9AA0; border-radius:10px; transform:rotate(8deg);}
.pgf-recent-photo{height:240px; position:relative; background-size:cover; background-position:center; overflow:hidden;}
.pgf-recent-photo .pgf-thumb-fallback{display:block; height:100%;}
.pgf-recent-photo .verdict{position:absolute; top:12px; right:12px; padding:5px 9px; color:#fff; font:9px/1 'Space Mono',monospace; letter-spacing:.1em; text-transform:uppercase;}
.pgf-recent-body{padding:23px 8px 0;}
.pgf-recent-body > span{font-size:8px; letter-spacing:.08em; color:var(--pink); text-transform:uppercase;}
.pgf-recent-body h3{font-size:clamp(1.45rem,2.2vw,2rem); font-weight:500; font-style:italic; line-height:1.1; margin:11px 0;}
.pgf-recent-body p{font-size:14px; line-height:1.55; color:rgba(28,20,20,.64);}
.pgf-recent-body b{font-size:8px; letter-spacing:.11em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:4px;}
.pgf-no-files{grid-column:1/-1; padding:50px; border:1px dashed var(--wine); text-align:center; font-size:10px; letter-spacing:.08em;}


/* ANONYMOUS TIP LINE */
.pgf-tip-line{
  position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end;
  padding:clamp(80px,9vw,125px) max(5vw,calc((100vw - 1220px)/2)); background:var(--pink); color:#fff; overflow:hidden;
}
.pgf-tip-line::after{content:"?"; position:absolute; z-index:-1; right:4vw; bottom:-9vw; font:900 26vw/1 'Big Shoulders Display',sans-serif; color:rgba(255,255,255,.08);}
.pgf-tip-wire{position:absolute; top:20px; left:max(5vw,calc((100vw - 1220px)/2)); display:flex; align-items:center; gap:9px; font-size:8px; letter-spacing:.13em; text-transform:uppercase;}
.pgf-tip-wire span{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18);}
.pgf-tip-line .pgf-kicker{color:#FFE1EC;}
.pgf-tip-copy h2 em{color:#fff; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px;}
.pgf-tip-copy p{font-size:clamp(1.15rem,2vw,1.45rem); margin:24px 0 7px;}
.pgf-tip-copy > span{font-size:25px; color:#FFE1EC;}
.pgf-tip-action{display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:270px;}
.pgf-btn-light{background:#FFFCF6; color:var(--ink);}
.pgf-tip-action small{font-size:8px; letter-spacing:.1em; text-transform:uppercase;}
.pgf-success{padding:20px 24px; border:1px solid #fff; background:rgba(255,255,255,.12); font-size:10px; line-height:1.6;}


/* PERSONNEL FILE */
.pgf-personnel-section{display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(45px,8vw,110px); align-items:center;}
.pgf-personnel-visual{
  position:relative; min-height:660px; background-size:cover; background-position:center top;
  border:15px solid #FFFCF6; outline:1px solid var(--ink); box-shadow:15px 18px 0 rgba(231,42,118,.17);
}
.pgf-personnel-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,20,20,.18),transparent 45%);pointer-events:none;}
.pgf-personnel-visual.is-placeholder{background:linear-gradient(145deg,#F6D3E0,#DB8CAD); overflow:hidden;}
.pgf-personnel-visual.is-placeholder::before{
  content:""; position:absolute; left:18%; right:18%; top:12%; bottom:-6%; border-radius:46% 46% 8% 8%;
  background:radial-gradient(ellipse at 50% 28%,#EFC4AF 0 18%,#29181E 19% 48%,#160E12 49% 100%);
}
.pgf-photo-index{position:absolute; z-index:3; left:16px; top:16px; padding:7px 9px; background:rgba(255,252,246,.86); font-size:7px; letter-spacing:.1em; text-transform:uppercase;}
.pgf-face-redaction{
  position:absolute; z-index:4; left:-7%; right:-7%; top:34%; padding:12px 10px; text-align:center;
  background:var(--wine); color:#fff; font-size:9px; letter-spacing:.22em; text-transform:uppercase; transform:rotate(-1.5deg);
}
.pgf-portrait-placeholder{position:absolute; z-index:3; left:8%; right:8%; bottom:25px; padding:10px; background:rgba(255,252,246,.8); color:var(--wine); font-size:19px; text-align:center;}
.pgf-personnel-file{position:relative; padding:clamp(36px,5vw,68px); background:#FFFCF6; border:1px solid var(--ink); box-shadow:17px 17px 0 rgba(122,16,48,.13);}
.pgf-personnel-file::before{content:"PERSONNEL";position:absolute;right:24px;top:20px;color:rgba(122,16,48,.08);font:900 clamp(2.5rem,6vw,5rem)/1 'Big Shoulders Display',sans-serif;}
.pgf-personnel-data{margin:39px 0 35px;}
.pgf-personnel-data > div{display:grid; grid-template-columns:155px 1fr; gap:24px; padding:13px 0; border-bottom:1px dotted rgba(28,20,20,.35); font-size:9px; line-height:1.45; text-transform:uppercase; letter-spacing:.07em;}
.pgf-personnel-data span{color:rgba(28,20,20,.5);}.pgf-personnel-data b{font-weight:700;}
.pgf-redacted-text{display:inline-block; width:max-content; background:var(--wine); color:transparent; padding:0 4px; user-select:none;}
.pgf-personnel-file blockquote{margin:0 0 34px; padding-left:20px; border-left:2px solid var(--pink); font-size:clamp(1.2rem,2vw,1.55rem); font-style:italic; line-height:1.5;}


/* PRIVATE DISTRIBUTION LIST */
.pgf-access-section{display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,110px); align-items:center; padding-top:90px;}
.pgf-access-copy-block p{max-width:510px; font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6; margin:25px 0 6px;}
.pgf-access-copy-block > span{font-size:24px; color:var(--wine);}
.pgf-access-form{position:relative; padding:45px; background:#FFFCF6; border:1px solid var(--ink); box-shadow:12px 12px 0 var(--pink);}
.pgf-form-status{display:flex; justify-content:space-between; gap:20px; padding-bottom:15px; margin-bottom:25px; border-bottom:1px solid var(--ink); font-size:8px; letter-spacing:.11em; text-transform:uppercase;}
.pgf-form-status strong{color:var(--pink);}
.pgf-access-form > label:not(.pgf-consent){display:block; margin:18px 0 6px; font:9px/1 'Space Mono',monospace; letter-spacing:.1em; text-transform:uppercase;}
.pgf-access-form > input[type="text"],.pgf-access-form > input[type="email"]{width:100%; padding:11px 2px; border:0; border-bottom:1px solid var(--ink); background:transparent; font:16px/1.4 'Fraunces',serif;}
.pgf-access-form > input:focus{outline:2px solid var(--pink); outline-offset:4px;}
.pgf-consent{display:flex!important; align-items:flex-start; gap:9px; margin:20px 0!important; font:8px/1.5 'Space Mono',monospace!important; letter-spacing:.02em!important; text-transform:none!important;}
.pgf-consent input{margin-top:2px; accent-color:var(--pink);}
.pgf-access-received{min-height:220px; display:grid; place-items:center; align-content:center; text-align:center; gap:18px;}
.pgf-access-received span{font-size:9px; letter-spacing:.12em; color:var(--pink); text-transform:uppercase;}
.pgf-access-received strong{font-size:2rem; font-weight:400; font-style:italic;}
.pgf-leaked-note{position:absolute; right:-20px; top:52%; z-index:2; width:270px; padding:18px 30px; background:#FFF9E9; color:var(--wine); box-shadow:7px 9px 0 rgba(122,16,48,.12); font-size:21px; transform:rotate(6deg);}


/* RESPONSIVE */
@media(max-width:980px){
  .home .pgf-hero{min-height:auto;}
  .pgf-hero-layout{grid-template-columns:1fr; gap:10px; padding-bottom:70px;}
  .pgf-hero-copy{padding:66px 0 25px;}
  .pgf-hero-record{width:min(560px,92%); margin-left:auto; min-height:320px;}
  .pgf-active-file{grid-template-columns:1fr;}
  .pgf-evidence-photo{min-height:500px; margin-right:35px;}
  .pgf-case-copy{margin:-18px 0 0 35px; border-left:1px solid var(--ink);}
  .pgf-whispers{grid-template-columns:1fr;}
  .pgf-recent-files{grid-template-columns:1fr 1fr;}
  .pgf-personnel-section{grid-template-columns:.8fr 1.2fr; gap:40px;}
  .pgf-personnel-visual{min-height:570px;}
  .pgf-personnel-data > div{grid-template-columns:1fr; gap:5px;}
  .pgf-access-section{gap:45px;}
  .pgf-leaked-note{display:none;}
}


@media(max-width:720px){
  .home .pgf-hero{padding-inline:20px;}
  .pgf-hero-system span:first-child{display:none;}
  .pgf-hero-system{justify-content:space-between; font-size:7px;}
  .pgf-hero-copy h1{font-size:clamp(3.25rem,16vw,5.3rem);}
  .pgf-hero-record{width:92%; margin:24px auto 0; min-height:340px; padding-inline:25px;}
  .pgf-record-line{grid-template-columns:78px 1fr;}
  .pgf-hero-foot span:last-child{display:none;}
  .pgf-home-section{padding-inline:20px;}
  .pgf-home-heading{display:block; margin-bottom:36px;}
  .pgf-margin-note{margin:15px 0 0 12%;}
  .pgf-active-section::before{top:70px; right:8px;}
  .pgf-evidence-photo{min-height:380px; margin-right:14px; padding:13px;}
  .pgf-evidence-photo img,.pgf-evidence-fallback{min-height:354px;}
  .pgf-evidence-label{top:25px; left:25px;}
  .pgf-case-copy{margin:-10px 0 0 14px; padding:58px 28px 40px;}
  .pgf-case-meta > div{grid-template-columns:1fr 1.25fr;}
  .pgf-whispers{padding-inline:24px; gap:55px;}
  .pgf-desk-note,.pgf-rumor-card{padding:40px 27px;}
  .pgf-note-footer{display:block;}.pgf-note-footer span{display:block;margin-top:7px;}
  .pgf-rumor-card::after{display:none;}
  .pgf-drawers{grid-template-columns:1fr;}
  .pgf-cabinet-shell{padding-inline:13px;}
  .pgf-cabinet-label{font-size:7px;}
  .pgf-drawer-face{padding-inline:18px;}
  .pgf-drawer-handle{width:65px;}
  .pgf-recent-files{grid-template-columns:1fr;}
  .pgf-recent-file:nth-child(n){transform:none;}
  .pgf-recent-photo{height:270px;}
  .pgf-tip-line{grid-template-columns:1fr; gap:38px; padding:86px 24px;}
  .pgf-tip-action{min-width:0;}
  .pgf-personnel-section{grid-template-columns:1fr;}
  .pgf-personnel-visual{min-height:590px; width:calc(100% - 15px);}
  .pgf-personnel-file{padding:46px 27px;}
  .pgf-personnel-data > div{grid-template-columns:1fr;}
  .pgf-access-section{grid-template-columns:1fr;}
  .pgf-access-form{padding:35px 25px; box-shadow:8px 8px 0 var(--pink);}
}


@media(prefers-reduced-motion:reduce){
  .pgf-drawer-face,.pgf-folder-peek,.pgf-drawer-reveal,.pgf-recent-file{transition:none!important;}
}



/* ================================================================
   PGF WEB 03 — CURRENTLY CIRCULATING / 6 FEATURED FILES
   ================================================================ */
.pgf-circulating-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(150px,auto);
  gap:clamp(16px,2.2vw,26px);
}

.pgf-circ-card{
  position:relative; grid-column:span 12;
  display:flex; flex-direction:column;
  background:#FFFCF6; border:1px solid var(--ink);
  overflow:hidden; text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pgf-circ-card:not(.pgf-circ-empty):hover,
.pgf-circ-card:not(.pgf-circ-empty):focus-visible{
  transform:translateY(-3px);
  box-shadow:9px 11px 0 rgba(231,42,118,.16);
}
.pgf-circ-card:focus-visible{ outline:2px solid var(--pink); outline-offset:3px; }

.pgf-circ-stamp{
  position:absolute; z-index:2; top:14px; left:14px; padding:6px 10px;
  background:var(--pink); color:#fff; font-size:8px; letter-spacing:.13em; text-transform:uppercase;
}
.pgf-circ-corner{
  position:absolute; z-index:2; top:0; right:0; padding:8px 14px;
  background:var(--wine); color:#fff; font-size:8px; letter-spacing:.13em; text-transform:uppercase;
}
.pgf-circ-heart{ position:absolute; z-index:2; top:14px; right:14px; color:var(--pink); font-size:17px; }

.pgf-circ-media{ position:relative; min-height:170px; background-size:cover; background-position:center; }
.pgf-circ-media .pgf-thumb-fallback{ display:block; height:100%; }

.pgf-circ-body{ padding:20px 20px 22px; display:flex; flex-direction:column; gap:8px; flex:1; }
.pgf-circ-meta{ font-size:8px; letter-spacing:.1em; color:var(--wine); text-transform:uppercase; }
.pgf-circ-card h3{
  margin:0; font-family:'Fraunces',serif; font-weight:500; font-style:italic;
  font-size:clamp(1.1rem,1.9vw,1.5rem); line-height:1.2; color:var(--ink);
}
.pgf-circ-link{
  margin-top:auto; padding-top:10px; display:inline-flex; align-items:center; gap:6px;
  font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
}
.pgf-circ-link .arrow{ display:inline-block; transition:transform .2s ease; }
.pgf-circ-card:hover .pgf-circ-link .arrow,
.pgf-circ-card:focus-visible .pgf-circ-link .arrow{ transform:translateX(4px); }

/* empty / unassigned slot — placeholder, never a dead link */
.pgf-circ-empty{ padding:28px 20px; justify-content:center; border-style:dashed; border-color:rgba(28,20,20,.35); cursor:default; }
.pgf-circ-empty .pgf-circ-body{ padding:0; }
.pgf-circ-empty-text{ font-size:19px; color:var(--wine); }

/* ---- 1: Most Opened — featured folder ---- */
.pgf-circ-treatment-folder .pgf-circ-media{ min-height:260px; }
.pgf-circ-treatment-folder h3{ font-size:clamp(1.5rem,2.6vw,2.1rem); }

/* ---- 2: Most Snooped — clipped, slightly rotated ---- */
.pgf-circ-treatment-clip{ transform:rotate(-.6deg); }
.pgf-circ-treatment-clip:hover,
.pgf-circ-treatment-clip:focus-visible{ transform:rotate(0) translateY(-3px); }
.pgf-circ-treatment-clip::after{
  content:""; position:absolute; z-index:2; top:-13px; left:26px; width:15px; height:46px;
  border:2px solid #9B9AA0; border-radius:9px; transform:rotate(8deg); pointer-events:none;
}

/* ---- 3: Girls' Favorite — index card, heart mark + dotted rule ---- */
.pgf-circ-treatment-index .pgf-circ-body{ border-top:1px dotted rgba(28,20,20,.3); }

/* ---- 4: Longest Read — stamped memo ---- */
.pgf-circ-treatment-stamp .pgf-circ-media{ min-height:130px; }
.pgf-circ-treatment-stamp .pgf-circ-corner{
  top:auto; right:14px; bottom:14px; left:auto; background:transparent;
  width:56px; height:56px; border-radius:50%; border:2px solid var(--wine); color:var(--wine);
  display:grid; place-items:center; text-align:center; padding:0;
  font-size:7px; line-height:1.25; transform:rotate(-9deg); opacity:.85;
}

/* ---- 5: Just Added — small flag tab ---- */
.pgf-circ-treatment-envelope{ position:relative; }
.pgf-circ-treatment-envelope::before{
  content:""; position:absolute; z-index:2; top:0; left:22px; pointer-events:none;
  border-left:9px solid transparent; border-right:9px solid transparent; border-top:9px solid var(--pink);
}
.pgf-circ-treatment-envelope .pgf-circ-media{ min-height:130px; }

/* ---- 6: From the Archive — aged dossier ---- */
.pgf-circ-treatment-dossier .pgf-circ-media{ min-height:130px; filter:sepia(.32) saturate(.75) contrast(1.02); }
.pgf-circ-treatment-dossier .pgf-circ-corner{ background:transparent; border:1px solid rgba(255,255,255,.75); }

/* ---- desktop composition: 1 featured + 2 medium + 3 small ---- */
@media(min-width:860px){
  .pgf-circ-card-1{ grid-column:1 / span 6; grid-row:1 / span 2; }
  .pgf-circ-card-2{ grid-column:7 / span 6; grid-row:1; }
  .pgf-circ-card-3{ grid-column:7 / span 6; grid-row:2; }
  .pgf-circ-card-4{ grid-column:1 / span 4; grid-row:3; }
  .pgf-circ-card-5{ grid-column:5 / span 4; grid-row:3; }
  .pgf-circ-card-6{ grid-column:9 / span 4; grid-row:3; }
  .pgf-circ-card-1 .pgf-circ-media{ min-height:320px; }
}

/* ---- selective 2-column for the three small cards on mid-width ---- */
@media(min-width:620px) and (max-width:859px){
  .pgf-circ-card-4,.pgf-circ-card-5,.pgf-circ-card-6{ grid-column:span 6; }
}

@media(max-width:720px){
  .pgf-circ-card h3{ font-size:1.25rem; }
  .pgf-circ-treatment-folder .pgf-circ-media{ min-height:220px; }
}

@media(prefers-reduced-motion:reduce){
  .pgf-circ-card,
  .pgf-circ-link .arrow{ transition:none!important; }
}


/* ================================================================
   PGF WEB 04 — THE CONFESSIONAL HOMEPAGE FEATURE
   A confidential room inside the archive, not a promo banner:
   LEFT = title/copy/CTA, RIGHT = a small stack of layered,
   part-redacted teaser notes. Darker/more intimate than the rest
   of the homepage, but built from the same palette + type system.
   ================================================================ */
.pgf-confessional-section{
  position:relative; z-index:1; overflow:hidden;
  padding:clamp(90px,11vw,150px) max(5vw,calc((100vw - 1220px)/2));
  background:linear-gradient(155deg,var(--wine) 0%,#2B0D18 55%,var(--ink) 100%);
  color:#fff;
}
.pgf-confessional-section::before{
  content:"CONFIDENTIAL"; position:absolute; z-index:0; left:50%; bottom:-8%;
  transform:translateX(-50%); white-space:nowrap; pointer-events:none;
  font:900 clamp(4rem,11vw,10rem)/1 'Big Shoulders Display',sans-serif;
  letter-spacing:.03em; color:rgba(255,255,255,.05);
}
.pgf-confessional-inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);
  gap:clamp(50px,8vw,110px); align-items:center;
}

/* copy side */
.pgf-confessional-section .pgf-kicker{ color:#FBB6D2; }
.pgf-confessional-title{
  margin:14px 0 0; font-family:'Fraunces',serif; font-weight:400; font-style:normal;
  font-size:clamp(2.6rem,5.4vw,5.2rem); line-height:.95; letter-spacing:.005em;
  text-transform:uppercase; color:#fff;
}
.pgf-confessional-title em{ font-style:italic; color:var(--pink); }
.pgf-confessional-lede{
  max-width:460px; margin:26px 0 0; font-family:'Fraunces',serif;
  font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.6; color:rgba(255,255,255,.82);
}
.pgf-confessional-status{ display:flex; flex-wrap:wrap; gap:10px 28px; margin:30px 0 0; }
.pgf-confessional-status > div{ font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.pgf-confessional-status span{ display:block; color:rgba(255,255,255,.55); }
.pgf-confessional-status strong{ display:block; margin-top:4px; color:#fff; font-weight:700; }
.pgf-confessional-btn{ margin-top:34px; }
.pgf-confessional-btn .pgf-arrow{ display:inline-block; transition:transform .2s ease; }
.pgf-confessional-btn:hover .pgf-arrow,
.pgf-confessional-btn:focus-visible .pgf-arrow{ transform:translateX(4px); }
.pgf-confessional-btn:focus-visible{ outline:2px solid #fff; outline-offset:4px; }

/* right side — layered, part-redacted teaser notes */
.pgf-confessional-stack{ position:relative; display:flex; flex-direction:column; }
.pgf-confessional-tag{
  align-self:flex-start; margin:0 0 18px; padding:6px 11px;
  background:var(--wine); color:#fff; font-size:8px; letter-spacing:.14em; text-transform:uppercase;
}
.pgf-confessional-note{
  position:relative; padding:22px 24px; margin-top:-14px;
  background:#FFFCF6; border:1px solid rgba(28,20,20,.18);
  box-shadow:0 10px 22px rgba(0,0,0,.28);
  transition:transform .2s ease;
}
.pgf-confessional-note:first-of-type{ margin-top:0; }
.pgf-confessional-note-1{ transform:rotate(-2deg); z-index:3; }
.pgf-confessional-note-2{ transform:rotate(1.4deg); z-index:2; margin-left:22px; }
.pgf-confessional-note-3{ transform:rotate(-.8deg); z-index:1; margin-left:10px; }
.pgf-confessional-note-tag{
  display:block; margin-bottom:8px; font-size:8px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pink);
}
.pgf-confessional-note-text{
  margin:0; font-family:'Fraunces',serif; font-style:italic; font-size:15px;
  line-height:1.5; color:var(--ink);
}
.pgf-confessional-redact{
  display:inline-block; width:56px; height:.85em; vertical-align:middle;
  margin-left:4px; background:var(--wine); border-radius:1px; transition:transform .2s ease;
}
.pgf-confessional-note:hover .pgf-confessional-redact{ transform:translateX(3px); }
.pgf-confessional-section:hover .pgf-confessional-note-1,
.pgf-confessional-section:focus-within .pgf-confessional-note-1{ transform:rotate(-2deg) translateY(-4px); }

@media(max-width:980px){
  .pgf-confessional-inner{ grid-template-columns:1fr; }
  .pgf-confessional-stack{ margin-top:14px; max-width:460px; }
}

@media(max-width:720px){
  .pgf-confessional-section{ padding-inline:20px; }
  .pgf-confessional-note{ margin-left:0!important; margin-top:14px; transform:none!important; }
  .pgf-confessional-note:first-of-type{ margin-top:0; }
  .pgf-confessional-status{ gap:8px 22px; }
}

@media(prefers-reduced-motion:reduce){
  .pgf-confessional-btn .pgf-arrow,
  .pgf-confessional-redact,
  .pgf-confessional-note{ transition:none!important; }
  .pgf-confessional-section:hover .pgf-confessional-note-1,
  .pgf-confessional-section:focus-within .pgf-confessional-note-1{ transform:rotate(-2deg); }
}


/* ================================================================
   PGF WEB 05 — JOIN THE COMMUNITY HOMEPAGE FEATURE
   Open/active counterpart to The Confessional: same split-editorial
   idea, but paper/cream-forward instead of dark, and the "documents"
   on the right are a small board of talking points rather than
   private redacted notes. Reuses .pgf-home-heading, .pgf-kicker,
   .pgf-margin-note, .pgf-btn, .pgf-text-link and .pgf-paperclip as-is.
   ================================================================ */
.pgf-community-section{
  position:relative;
  background:linear-gradient(180deg,rgba(246,211,224,.4),transparent 65%);
}
.pgf-community-inner{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);
  gap:clamp(46px,7vw,90px); align-items:start;
}

/* copy side */
.pgf-community-lede{
  max-width:480px; margin:0; font-family:'Fraunces',serif;
  font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.6; color:rgba(28,20,20,.72);
}
.pgf-community-actions{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:30px; }

.pgf-community-btn{ position:relative; display:inline-grid; }
.pgf-community-btn-default,
.pgf-community-btn-hover{ grid-area:1/1; transition:opacity .2s ease, transform .2s ease; }
.pgf-community-btn-hover{ opacity:0; transform:translateY(4px); }
.pgf-community-btn:hover .pgf-community-btn-default,
.pgf-community-btn:focus-visible .pgf-community-btn-default{ opacity:0; transform:translateY(-4px); }
.pgf-community-btn:hover .pgf-community-btn-hover,
.pgf-community-btn:focus-visible .pgf-community-btn-hover{ opacity:1; transform:translateY(0); }

/* preview board */
.pgf-community-board-title{
  margin:0 0 18px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--wine);
}
.pgf-community-slips{
  position:relative; margin:0; padding:2px 0 2px 24px; list-style:none;
  display:grid; grid-template-columns:1fr 1fr; gap:16px 18px;
}
.pgf-community-slips::before{
  content:""; position:absolute; left:6px; top:4px; bottom:4px; width:1px;
  background:repeating-linear-gradient(to bottom,var(--pink) 0 4px,transparent 4px 9px);
}
.pgf-community-slip{
  position:relative; padding:18px 16px; background:#FFFCF6; border:1px solid var(--line);
  border-top:3px solid var(--pink); box-shadow:5px 6px 0 rgba(122,16,48,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.pgf-community-slip-1{ transform:rotate(-1deg); }
.pgf-community-slip-2{ transform:rotate(.8deg); }
.pgf-community-slip-3{ transform:rotate(-.6deg); }
.pgf-community-slip-4{ transform:rotate(1deg); }
.pgf-community-slip:hover{
  transform:translateY(-2px) rotate(0deg); border-color:var(--pink);
  box-shadow:6px 8px 0 rgba(231,42,118,.16);
}
.pgf-community-slip .pgf-paperclip{ top:-14px; left:18px; transition:transform .2s ease; }
.pgf-community-slip:hover .pgf-paperclip{ transform:rotate(11deg); }
.pgf-community-slip-cat{
  display:block; margin-bottom:8px; font-size:8px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--wine);
}
.pgf-community-slip-text{
  margin:0; font-family:'Fraunces',serif; font-style:italic; font-size:14.5px;
  line-height:1.4; color:var(--ink);
}

@media(max-width:980px){
  .pgf-community-inner{ grid-template-columns:1fr; }
  .pgf-community-board{ max-width:520px; }
}

@media(max-width:720px){
  .pgf-community-slips{ grid-template-columns:1fr; padding-left:20px; }
  .pgf-community-slip-1,.pgf-community-slip-2,.pgf-community-slip-3,.pgf-community-slip-4{ transform:none; }
  .pgf-community-slip:hover{ transform:translateY(-2px); }
  .pgf-community-actions{ gap:20px; }
}

@media(prefers-reduced-motion:reduce){
  .pgf-community-btn-default,
  .pgf-community-btn-hover,
  .pgf-community-slip,
  .pgf-community-slip .pgf-paperclip{ transition:none!important; }
}


/* ================================================================
   PGF WEB 06 — CREATE ACCOUNT / PERSONAL ARCHIVE HOMEPAGE FEATURE
   Calmer/plainer than Confessional (dark, private) and Community
   (blush wash, social): no background wash here at all — the section
   just sits on the page's own paper tone, giving it breathing room
   and its own "organized, yours" identity. Reuses .pgf-home-heading,
   .pgf-kicker, .pgf-margin-note, .pgf-btn and .pgf-text-link as-is.
   ================================================================ */
.pgf-account-inner{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);
  gap:clamp(46px,7vw,90px); align-items:center;
}

/* copy side */
.pgf-account-lede{
  max-width:460px; margin:0; font-family:'Fraunces',serif;
  font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.6; color:rgba(28,20,20,.72);
}
.pgf-account-benefits{
  list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:11px 24px;
}
.pgf-account-benefits li{
  position:relative; padding-left:14px; font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--wine);
}
.pgf-account-benefits li::before{
  content:""; position:absolute; left:0; top:5px; width:5px; height:5px;
  border-radius:50%; background:var(--pink);
}
.pgf-account-actions{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:32px; }
.pgf-account-btn .pgf-heart{ display:inline-block; transition:transform .2s ease; }
.pgf-account-btn:hover .pgf-heart,
.pgf-account-btn:focus-visible .pgf-heart{ transform:scale(1.25); }
.pgf-account-membership-link{
  display:inline-flex; align-items:center; gap:6px; margin-top:22px;
  font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(28,20,20,.55);
  border-bottom:1px solid rgba(28,20,20,.3); padding-bottom:3px;
  transition:color .2s ease, border-color .2s ease;
}
.pgf-account-membership-link:hover,
.pgf-account-membership-link:focus-visible{ color:var(--wine); border-color:var(--wine); }

/* personal archive dossier card — a fictional profile card, not an ID */
.pgf-archive-card{
  position:relative; max-width:380px; margin:0 auto; padding:44px 30px 26px;
  background:#FFFCF6; border:1px solid var(--ink); transform:rotate(1.4deg);
  box-shadow:17px 17px 0 rgba(122,16,48,.13); transition:transform .2s ease;
}
.pgf-archive-card-tab{
  position:absolute; top:-1px; left:28px; padding:10px 16px; background:var(--pink); color:#fff;
  font-size:9px; letter-spacing:.12em; text-transform:uppercase;
}
.pgf-archive-card-brand{
  padding-top:6px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:rgba(28,20,20,.45);
}
.pgf-archive-card-rows{ margin-top:22px; }
.pgf-archive-card-rows > div{
  display:grid; grid-template-columns:110px 1fr; gap:18px; padding:11px 0;
  border-bottom:1px dotted rgba(28,20,20,.3); font-size:9px; letter-spacing:.08em; text-transform:uppercase;
}
.pgf-archive-card-rows > div:last-child{ border-bottom:0; }
.pgf-archive-card-rows span{ color:rgba(28,20,20,.48); }
.pgf-archive-card-rows strong{ font-weight:700; transition:color .2s ease; }
.pgf-archive-heart{ display:inline-block; color:var(--pink); font-size:10px; transition:transform .2s ease, color .2s ease; }
.pgf-archive-card-foot{ margin-top:20px; text-align:right; font-size:19px; color:var(--wine); }

.pgf-account-section:hover .pgf-archive-card,
.pgf-account-section:focus-within .pgf-archive-card{ transform:translateY(-2px) rotate(1.4deg); }
.pgf-account-section:hover .pgf-archive-card-tab,
.pgf-account-section:focus-within .pgf-archive-card-tab{ transform:translateY(-2px); }
.pgf-account-section:hover .pgf-account-status-value,
.pgf-account-section:focus-within .pgf-account-status-value{ color:var(--pink); }
.pgf-account-section:hover .pgf-archive-heart,
.pgf-account-section:focus-within .pgf-archive-heart{ transform:scale(1.2); }
.pgf-archive-card-tab{ transition:transform .2s ease; }

@media(max-width:980px){
  .pgf-account-inner{ grid-template-columns:1fr; }
  .pgf-archive-card{ margin-top:10px; }
}

@media(max-width:720px){
  .pgf-archive-card{ transform:none; max-width:100%; padding:38px 22px 22px; }
  .pgf-account-section:hover .pgf-archive-card,
  .pgf-account-section:focus-within .pgf-archive-card{ transform:translateY(-2px); }
  .pgf-account-actions{ gap:20px; }
  .pgf-archive-card-rows > div{ grid-template-columns:1fr; gap:4px; }
}

@media(prefers-reduced-motion:reduce){
  .pgf-account-btn .pgf-heart,
  .pgf-archive-card,
  .pgf-archive-card-tab,
  .pgf-archive-heart,
  .pgf-archive-card-rows strong{ transition:none!important; }
}


/* ================================================================
   PGF WEB — DYNAMIC EDITORIAL LANGUAGE / ARCHIVE MOTION SYSTEM
   No new visual style, no new sections — small, restrained motion
   layered onto what's already approved. Reuses the existing
   @keyframes pgf-scroll (style.css, already used by The Archive
   Wire) for both new marquees below instead of duplicating it.
   Speed hierarchy: Archive Wire (style.css, 32s, fastest) >
   Community topic wire (60s, reverse direction) > Confessional
   whisper line (100s, slowest). Scroll reveals are a single generic
   [data-pgf-reveal] utility (see theme.js) reused everywhere a
   one-time entrance is wanted, so there's exactly one reveal system,
   not several.
   ================================================================ */

/* ---- generic one-time scroll reveal (Currently Circulating cards,
   the Personal Archive marginalia note). No-op / already-visible
   when JS or IntersectionObserver is unavailable — see theme.js. ---- */
[data-pgf-reveal]{
  opacity:0; transform:translateY(14px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-pgf-reveal].is-revealed{ opacity:1; transform:translateY(0); }
.pgf-circ-card[data-pgf-reveal]:nth-child(2){ transition-delay:.06s; }
.pgf-circ-card[data-pgf-reveal]:nth-child(3){ transition-delay:.12s; }
.pgf-circ-card[data-pgf-reveal]:nth-child(4){ transition-delay:.18s; }
.pgf-circ-card[data-pgf-reveal]:nth-child(5){ transition-delay:.24s; }
.pgf-circ-card[data-pgf-reveal]:nth-child(6){ transition-delay:.3s; }

/* ---- Currently Circulating: small per-treatment hover motion.
   Additive only — the shared card-level lift from PGF WEB 03
   (.pgf-circ-card:hover{transform:translateY(-3px);...}) is untouched. ---- */
.pgf-circ-treatment-folder .pgf-circ-stamp{ transition:transform .2s ease; }
.pgf-circ-treatment-folder:hover .pgf-circ-stamp,
.pgf-circ-treatment-folder:focus-visible .pgf-circ-stamp{ transform:translateY(2px); }

.pgf-circ-treatment-index .pgf-circ-heart{ transition:transform .2s ease; }
.pgf-circ-treatment-index:hover .pgf-circ-heart,
.pgf-circ-treatment-index:focus-visible .pgf-circ-heart{ transform:scale(1.18); }

.pgf-circ-treatment-stamp .pgf-circ-corner{ transition:transform .2s ease; }
.pgf-circ-treatment-stamp:hover .pgf-circ-corner,
.pgf-circ-treatment-stamp:focus-visible .pgf-circ-corner{ transform:rotate(-13deg) scale(1.05); }

.pgf-circ-treatment-envelope::before{ transition:transform .2s ease; }
.pgf-circ-treatment-envelope:hover::before,
.pgf-circ-treatment-envelope:focus-visible::before{ transform:translateY(3px); }

.pgf-circ-treatment-dossier{ transition:transform .2s ease, box-shadow .2s ease; }
.pgf-circ-treatment-dossier:hover,
.pgf-circ-treatment-dossier:focus-visible{ box-shadow:11px 13px 0 rgba(231,42,118,.16); }
/* Most Snooped (clip) already tilts back to level and lifts on hover
   via the existing PGF WEB 03 card-level rule — no separate motion
   added here, so the file edge already reads as "shifting slightly". */

/* ---- Confessional: "accessing private room" status line + slow
   whisper line drifting along the bottom of the dark room. ---- */
.pgf-confessional-access{
  margin:0 0 14px; font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.4);
}
.pgf-blink-cursor{ display:inline-block; animation:pgf-blink 1.6s step-end infinite; }
@keyframes pgf-blink{ 0%,49%{ opacity:1; } 50%,100%{ opacity:0; } }

.pgf-whisper-line{
  position:relative; z-index:1; margin-top:56px; padding-top:26px;
  border-top:1px solid rgba(255,255,255,.14); overflow:hidden; white-space:nowrap;
}
.pgf-whisper-track{
  display:inline-block; font-family:'Fraunces',serif; font-style:italic;
  font-size:clamp(13px,1.6vw,16px); color:rgba(255,255,255,.48);
  animation:pgf-scroll 100s linear infinite;
}
.pgf-whisper-track span{ margin:0 46px; }
.pgf-whisper-line:hover .pgf-whisper-track{ animation-play-state:paused; }

/* ---- Community: distinct medium-speed topic wire, opposite direction
   from The Archive Wire, cream/pink instead of black/cream. ---- */
.pgf-topic-wire{
  position:relative; left:50%; width:100vw; margin-left:-50vw; z-index:1;
  margin-top:52px; overflow:hidden; white-space:nowrap;
  padding:14px max(5vw,calc((100vw - 1220px)/2)); background:#FFFCF6;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.pgf-topic-wire-track{
  display:inline-block; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--pink); animation:pgf-scroll 60s linear infinite reverse;
}
.pgf-topic-wire-track span{ margin:0 26px; }
.pgf-topic-wire-track span::after{ content:"·"; margin-left:26px; color:var(--wine); }
.pgf-topic-wire:hover .pgf-topic-wire-track{ animation-play-state:paused; }

/* ---- Personal Archive: one new marginalia note (the only major
   "signature" section that didn't already have one — Hero, Active
   File, Whispers, Confessional and Personnel all already carry this
   detail from earlier tasks). Fades in once, then stays static. ---- */
.pgf-account-marginalia{
  position:absolute; z-index:0; right:-4px; top:50%;
  transform-origin:right center; white-space:nowrap; pointer-events:none;
  font:700 9px/1 'Space Mono',monospace; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(28,20,20,.16);
}
[data-pgf-reveal].pgf-account-marginalia{ transform:translateY(-50%) rotate(90deg); }
[data-pgf-reveal].pgf-account-marginalia.is-revealed{ transform:translateY(-50%) rotate(90deg); opacity:1; }

/* ---- transition microcopy between major sections (2–4 total, per
   the motion brief) — thin editorial dividers, not a message between
   every section. ---- */
.pgf-transition-note{
  max-width:1220px; margin:0 auto; padding:34px 5vw;
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  font-size:9px; letter-spacing:.18em; text-transform:uppercase; text-align:center;
  color:rgba(28,20,20,.4);
}
.pgf-transition-note::before,
.pgf-transition-note::after{ content:""; flex:1 1 40px; max-width:80px; height:1px; background:rgba(28,20,20,.18); }
.pgf-transition-note strong{ color:var(--wine); font-weight:700; }

/* ---- Newsletter: tiny arrow shift on the existing "Request access"
   button — no copy/behavior change, form functionality untouched. ---- */
.pgf-access-form .pgf-btn span{ display:inline-block; transition:transform .2s ease; }
.pgf-access-form .pgf-btn:hover span,
.pgf-access-form .pgf-btn:focus-visible span{ transform:translateX(4px); }

@media(max-width:720px){
  .pgf-account-marginalia{ display:none; }
  .pgf-transition-note{ padding:26px 20px; gap:8px; }
  .pgf-transition-note::before,
  .pgf-transition-note::after{ display:none; }
  .pgf-whisper-track{ font-size:12.5px; }
}

@media(prefers-reduced-motion:reduce){
  [data-pgf-reveal]{ transition:none!important; opacity:1; transform:none!important; }
  [data-pgf-reveal].pgf-account-marginalia,
  [data-pgf-reveal].pgf-account-marginalia.is-revealed{ transform:translateY(-50%) rotate(90deg)!important; }
  .pgf-circ-treatment-folder .pgf-circ-stamp,
  .pgf-circ-treatment-index .pgf-circ-heart,
  .pgf-circ-treatment-stamp .pgf-circ-corner,
  .pgf-circ-treatment-envelope::before,
  .pgf-circ-treatment-dossier,
  .pgf-access-form .pgf-btn span{ transition:none!important; }
  .pgf-blink-cursor{ animation:none!important; opacity:1; }
  .pgf-whisper-track,
  .pgf-topic-wire-track{ animation:none!important; }
}


/* ================================================================
   PGF WEB — MATERIAL WORLDS 2.0: the four material identities from
   1.0, strengthened so the physical metaphor reads at a glance.
   Still CSS-only (gradients, borders, box-shadow, pseudo-elements),
   still layered on top of the page's existing paper tone and the
   sitewide .pgf-home::before rule-line wash (both untouched).
   Each section now presents its paper as a bounded, bordered,
   shadowed SHEET/PANEL — not just a background-color wash — with a
   second tone peeking a few px from behind it for physical depth.
   Unifying thread: --wine hairline detailing, mono uppercase
   archive stamps, the same paper/cream/pink palette throughout.
   ================================================================ */

/* ---- 1. Personal Archive: a bounded warm-cream archival sheet —
   visible fiber grain, two visible corner registration crosshairs,
   a blush sheet peeking a few px from behind it. Dossier card gets
   a pink backing sheet, a stronger shadow and a small chrome
   paperclip (CSS-only, no new markup). ---- */
.pgf-account-section{
  background-image: linear-gradient(180deg, rgba(255,252,246,.4), rgba(249,195,216,.14) 60%, transparent 90%);
}
.pgf-account-section::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:-10px -8px;
  background-image:
    radial-gradient(rgba(122,16,48,.1) .8px, transparent .9px),
    linear-gradient(rgba(122,16,48,.36) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(122,16,48,.36) 1.5px, transparent 1.5px),
    linear-gradient(rgba(122,16,48,.36) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(122,16,48,.36) 1.5px, transparent 1.5px),
    linear-gradient(180deg, #FFFCF6 0%, #FEF8ED 55%, #FDF2E0 100%);
  background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 5px 5px, 13px 13px, 13px 13px, 13px 13px, 13px 13px, 100% 100%;
  background-position:
    0 0, 34px 30px, 34px 30px, calc(100% - 38px) calc(100% - 34px), calc(100% - 38px) calc(100% - 34px), 0 0;
  border:1px solid rgba(28,20,20,.16);
  box-shadow:-7px 9px 0 #F6D3E0, 0 16px 28px rgba(28,20,20,.09);
}
.pgf-archive-card{ z-index:1; box-shadow:20px 20px 0 rgba(122,16,48,.2); }
.pgf-archive-card::before{
  content:""; position:absolute; z-index:-1; inset:-8px -10px -12px -8px;
  background:#F6D3E0; border:1px solid rgba(122,16,48,.2); transform:rotate(-2.4deg);
}
/* small chrome paperclip — the section's one physical object */
.pgf-archive-card::after{
  content:""; position:absolute; z-index:2; top:-17px; right:34px;
  width:15px; height:46px; border:2px solid #9B9AA0; border-radius:9px; transform:rotate(-9deg);
}

/* ---- 2. Newsletter: pink correspondence/graph paper, grid visibly
   present. A line of small binder holes along the left edge marks
   it as pulled from a private notebook. The cream form sits on top
   as a clearly separate sheet — rotated, shadowed, taped down. ---- */
.pgf-access-section{
  background-image:
    linear-gradient(rgba(122,16,48,.24) 1px, transparent 1px),
    linear-gradient(90deg, rgba(122,16,48,.24) 1px, transparent 1px),
    linear-gradient(180deg, rgba(249,195,216,.55), rgba(246,211,224,.22) 60%, rgba(249,195,216,.12) 100%);
  background-repeat: repeat, repeat, no-repeat;
  background-size: 26px 26px, 26px 26px, 100% 100%;
}
.pgf-access-section::before{
  content:""; position:absolute; pointer-events:none;
  left:6px; top:9%; bottom:9%; width:10px;
  background-image:radial-gradient(circle, rgba(122,16,48,.32) 2.2px, transparent 2.4px);
  background-repeat:repeat-y; background-size:10px 24px;
}
.pgf-access-form{
  transform:rotate(-.6deg);
  box-shadow:0 3px 10px rgba(28,20,20,.14), 16px 16px 0 var(--pink);
}
.pgf-access-form::before{
  content:""; position:absolute; top:-12px; left:40px; width:64px; height:24px;
  background:rgba(246,211,224,.72); border:1px solid rgba(122,16,48,.16);
  box-shadow:0 2px 3px rgba(28,20,20,.1); transform:rotate(-5deg);
}
.pgf-access-copy-block::after{
  content:"PGF\A ACCESS ONLY\A ♡"; white-space:pre-line; text-align:center;
  display:inline-block; margin-top:20px;
  padding:8px 15px; border:1.5px solid var(--wine); border-radius:2px;
  font:700 8px/1.7 'Space Mono',monospace; letter-spacing:.14em;
  color:var(--wine); background:rgba(255,252,246,.75);
  transform:rotate(-3deg);
}

/* ---- 3. Community: shared pale-pink notebook page — related to
   Newsletter's graph paper (same wine ink, same family) but looser:
   wider single-axis ruled lines, one clear margin rule, and sparse
   punched holes along the left edge (bigger, further apart than
   Newsletter's binder-hole line, so the two read as different
   paper). Existing slips/hover/paperclip/topic wire untouched. ---- */
.pgf-community-section{
  background-image:
    linear-gradient(rgba(122,16,48,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(122,16,48,.34) 1.5px, transparent 1.5px),
    linear-gradient(180deg, rgba(246,211,224,.6), rgba(246,211,224,.2) 55%, transparent 85%);
  background-repeat: repeat, no-repeat, no-repeat;
  background-size: 100% 28px, 1.5px 100%, 100% 100%;
  background-position: 0 0, 58px 0, 0 0;
}
.pgf-community-section::before{
  content:""; position:absolute; pointer-events:none;
  left:20px; top:11%; bottom:11%; width:12px;
  background-image:radial-gradient(circle, rgba(122,16,48,.24) 3px, transparent 3.2px);
  background-repeat:repeat-y; background-size:12px 64px;
}
.pgf-community-slip{ box-shadow:6px 7px 0 rgba(122,16,48,.15), inset 0 1px 0 rgba(255,255,255,.75); }
.pgf-community-slip:hover{ box-shadow:8px 10px 0 rgba(231,42,118,.24), inset 0 1px 0 rgba(255,255,255,.75); }

/* ---- 4. Personnel File: an open manila folder. A bordered,
   shadowed manila panel sits visibly behind both halves (the folder
   body); a soft vertical band between the two columns reads as the
   center fold (desktop only, where the columns sit side by side); a
   folder tab sits above the record sheet; each half gets its own
   backing-sheet peek for depth; one new label per side; the
   existing one-time "folder just opened" reveal is preserved. ---- */
.pgf-personnel-section{
  background-image: linear-gradient(180deg, rgba(255,252,246,.4), rgba(249,195,216,.1));
}
.pgf-personnel-section::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:-16px -12px;
  background-image: linear-gradient(155deg, #FBEAD1 0%, #F7EBD6 55%, #FFFCF6 100%);
  background-repeat:no-repeat; background-size:100% 100%;
  border:1px solid rgba(28,20,20,.16);
  border-radius:3px;
  box-shadow:0 16px 32px rgba(28,20,20,.12), inset 0 1px 0 rgba(255,255,255,.55);
}
@media(min-width:721px){
  .pgf-personnel-section::before{
    background-image:
      linear-gradient(90deg, transparent 36%, rgba(28,20,20,.09) 43%, rgba(28,20,20,.16) 46%, rgba(28,20,20,.09) 49%, transparent 56%),
      linear-gradient(155deg, #FBEAD1 0%, #F7EBD6 55%, #FFFCF6 100%);
    background-repeat:no-repeat, no-repeat;
    background-size:100% 100%, 100% 100%;
  }
}
.pgf-personnel-visual{ box-shadow:-7px -5px 0 #FBEAD1, 18px 20px 0 rgba(231,42,118,.2); }
.pgf-personnel-file{ z-index:1; box-shadow:7px -5px 0 #F6D3E0, 20px 20px 0 rgba(122,16,48,.18); }
.pgf-personnel-file::after{
  content:"Personnel / 004"; position:absolute; top:-15px; left:32px;
  padding:7px 15px 6px; background:#F7EBD6; border:1px solid var(--ink); border-bottom:none;
  font:700 8px/1 'Space Mono',monospace; letter-spacing:.14em; text-transform:uppercase;
  color:var(--wine); border-radius:3px 3px 0 0;
  box-shadow:0 -2px 6px rgba(28,20,20,.06);
}
.pgf-personnel-file .pgf-kicker::after{
  content:"File Opened: 2026"; display:inline-block; margin-left:14px; vertical-align:middle;
  padding:3px 8px; border:1px solid var(--wine); border-radius:1px;
  font:700 7px/1 'Space Mono',monospace; letter-spacing:.12em; text-transform:uppercase;
  color:var(--wine);
}
.pgf-photo-evidence-tag{
  position:absolute; z-index:3; left:16px; bottom:16px; padding:6px 9px;
  background:rgba(255,252,246,.86); font-size:7px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--wine);
}
.pgf-personnel-visual.is-placeholder .pgf-photo-evidence-tag{ display:none; }

/* one-time "the folder has just been opened" reveal — reuses the
   existing [data-pgf-reveal]/IntersectionObserver system (theme.js),
   the same specificity-override technique already used above for
   .pgf-account-marginalia[data-pgf-reveal]. */
.pgf-personnel-visual[data-pgf-reveal]{ transform:translateX(-4px); }
.pgf-personnel-visual[data-pgf-reveal].is-revealed{ transform:translateX(0); }
.pgf-personnel-file[data-pgf-reveal]{ transform:translateX(4px); }
.pgf-personnel-file[data-pgf-reveal].is-revealed{ transform:translateX(0); }

@media(max-width:720px){
  .pgf-archive-card::before{ transform:none; inset:-5px -6px -8px -5px; }
  .pgf-access-form{ transform:none; }
  .pgf-access-section::before{ display:none; }
  .pgf-community-section{
    background-image:
      linear-gradient(rgba(122,16,48,.16) 1px, transparent 1px),
      linear-gradient(180deg, rgba(246,211,224,.6), rgba(246,211,224,.2) 55%, transparent 85%);
    background-repeat: repeat, no-repeat;
    background-size: 100% 28px, 100% 100%;
  }
  .pgf-community-section::before{ display:none; }
  .pgf-personnel-section::before{ inset:-10px -8px; }
  .pgf-personnel-visual{ box-shadow:-5px -4px 0 #FBEAD1, 12px 14px 0 rgba(231,42,118,.2); }
  .pgf-personnel-file{ box-shadow:5px -4px 0 #F6D3E0, 12px 14px 0 rgba(122,16,48,.18); }
  .pgf-personnel-file .pgf-kicker::after{ display:none; }
}

@media(prefers-reduced-motion:reduce){
  .pgf-personnel-visual[data-pgf-reveal],
  .pgf-personnel-visual[data-pgf-reveal].is-revealed,
  .pgf-personnel-file[data-pgf-reveal],
  .pgf-personnel-file[data-pgf-reveal].is-revealed{ transform:none!important; }
}


/* ================================================================
   PGF WEB — ARCHIVE CABINET + CIRCULATION DESK
   Two more homepage areas get a physical-material identity. The
   drawers themselves and the six circulating-file categories/logic
   are untouched — this only strengthens the furniture around the
   drawers and the desk the files rest on. CSS-only; the reveal for
   Currently Circulating reuses the existing [data-pgf-reveal]
   system (theme.js) — no new JS.
   ================================================================ */

/* ---- ARCHIVE CABINET: frame → recessed inner cavity → drawers,
   instead of one flat wine rectangle. Drawers/handles/hover-reveal
   are untouched. ---- */
.pgf-cabinet-shell{ z-index:0; }
.pgf-cabinet-shell::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:14px 14px 14px 14px; border-radius:2px;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 1px, transparent 1px 42px),
    linear-gradient(160deg, #7C1B3C, #56091F);
  box-shadow:
    inset 0 8px 16px rgba(0,0,0,.38),
    inset 0 -2px 0 rgba(255,255,255,.05);
}
.pgf-cabinet-shell::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  left:0; right:0; top:0; height:38%; border-radius:2px 2px 0 0;
  background:linear-gradient(180deg, rgba(255,255,255,.16), transparent);
}
.pgf-cabinet-base{
  box-shadow:0 12px 15px rgba(28,20,20,.32), inset 0 1px 0 rgba(255,255,255,.08), inset 0 -3px 0 rgba(0,0,0,.3);
}

/* small metal ID plate mounted near the top edge of the cabinet */
.pgf-cabinet-plaque{
  position:absolute; z-index:3; top:-11px; right:clamp(18px,3vw,38px);
  display:flex; flex-direction:column; align-items:center; gap:1px;
  padding:5px 12px; background:#F6EDE8; border:2px solid #C7C6CC; border-radius:2px;
  font-size:6.5px; line-height:1.6; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 2px 5px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.5);
}
.pgf-cabinet-plaque span:first-child{ color:rgba(122,16,48,.55); }
.pgf-cabinet-plaque span:last-child{ color:var(--wine); font-weight:700; }

/* the one small distinction for the Shop drawer — a tiny heart beside its archive label */
.pgf-drawer-shop .pgf-drawer-code::after{ content:" ♡"; color:var(--pink); }

@media(max-width:720px){
  .pgf-cabinet-shell::before{ inset:10px; }
  .pgf-cabinet-plaque{ padding:4px 9px; font-size:6px; right:13px; top:-9px; }
}

/* ---- CURRENTLY CIRCULATING → THE CIRCULATION DESK: a pale-pink
   lacquered desk surface (not paper) under the six files. Layout,
   the six categories/labels and their assignment logic are
   untouched. ---- */
.pgf-circulating-section{
  background:
    linear-gradient(180deg, rgba(28,20,20,.06), transparent 6%),
    radial-gradient(ellipse at 28% 0%, rgba(255,255,255,.4), transparent 55%),
    linear-gradient(175deg, #F9C9DA 0%, #F3AFC9 55%, #EFA0BE 100%);
}
.pgf-circulating-grid{ position:relative; }
.pgf-circ-card{ z-index:1; box-shadow:3px 5px 10px rgba(28,20,20,.12); }

/* ---- 1: Most Opened — open case folder: a small tab peeking above the file ---- */
.pgf-circ-treatment-folder{ position:relative; }
.pgf-circ-treatment-folder::before{
  content:""; position:absolute; z-index:2; top:-10px; left:26px; pointer-events:none;
  width:64px; height:16px; background:#FFFCF6; border:1px solid var(--ink); border-bottom:none;
  border-radius:3px 3px 0 0; transition:transform .2s ease;
}
.pgf-circ-treatment-folder:hover::before,
.pgf-circ-treatment-folder:focus-visible::before{ transform:translateY(2px); }
.pgf-circ-card-1{ box-shadow:-5px 4px 0 #FBEAD1, 3px 5px 10px rgba(28,20,20,.12); }

/* ---- 2: Most Snooped — the existing chrome clip, plus tiny "Access Log" microcopy ---- */
.pgf-circ-treatment-clip::before{
  content:"Access Log"; position:absolute; z-index:2; top:14px; right:14px; pointer-events:none;
  padding:3px 6px; background:rgba(255,252,246,.82);
  font:700 6.5px/1 'Space Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:rgba(28,20,20,.42);
}
.pgf-circ-treatment-clip::after{ transition:transform .2s ease; }
.pgf-circ-treatment-clip:hover::after,
.pgf-circ-treatment-clip:focus-visible::after{ transform:rotate(14deg); }

/* ---- 3: Girls' Favorite — already carries the ♡ mark + category label, untouched ---- */

/* ---- 4: Longest Read — thick file: two extra paper layers peeking behind it ---- */
.pgf-circ-card-4{ box-shadow:-3px 3px 0 #FBEAD1, -6px 6px 0 #F6D3E0, 3px 5px 10px rgba(28,20,20,.12); }

/* ---- 5: Just Added — the existing pink flag tab gets a tiny "New" mark ---- */
.pgf-circ-treatment-envelope::after{
  content:"New"; position:absolute; z-index:2; top:4px; left:37px; pointer-events:none;
  font:700 7px/1 'Space Mono',monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--wine);
}

/* ---- 6: From the Archive — retrieved file: warmer cream + one small stamp on the photo ---- */
.pgf-circ-treatment-dossier{ background:#FEF6EA; }
.pgf-circ-treatment-dossier .pgf-circ-media{ position:relative; }
.pgf-circ-treatment-dossier .pgf-circ-media::after{
  content:"Retrieved\A PGF Archive"; white-space:pre-line; text-align:center; pointer-events:none;
  position:absolute; z-index:2; bottom:10px; right:10px;
  padding:5px 9px; border:1px solid rgba(255,255,255,.8); border-radius:1px;
  font:700 6.5px/1.6 'Space Mono',monospace; letter-spacing:.1em; text-transform:uppercase;
  color:#fff; background:rgba(122,16,48,.55);
}

/* ---- tiny difference in angle so the six files don't read as perfect
   CSS rectangles, folded into the existing one-time reveal: each file
   settles onto the desk from a slightly different direction, then
   rests at its small permanent tilt. Hover always un-rotates + lifts,
   same behavior the clip treatment already established. ---- */
.pgf-circ-card-1[data-pgf-reveal]{ transform:translate(-6px,-6px); }
.pgf-circ-card-1[data-pgf-reveal].is-revealed{ transform:translate(0,0); }
.pgf-circ-card-2[data-pgf-reveal]{ transform:rotate(-.6deg) translate(6px,-6px); }
.pgf-circ-card-2[data-pgf-reveal].is-revealed{ transform:rotate(-.6deg) translate(0,0); }
.pgf-circ-card-3[data-pgf-reveal]{ transform:rotate(.3deg) translateX(7px); }
.pgf-circ-card-3[data-pgf-reveal].is-revealed{ transform:rotate(.3deg) translateX(0); }
.pgf-circ-card-4[data-pgf-reveal]{ transform:rotate(-.35deg) translateY(6px); }
.pgf-circ-card-4[data-pgf-reveal].is-revealed{ transform:rotate(-.35deg) translateY(0); }
.pgf-circ-card-5[data-pgf-reveal]{ transform:rotate(.25deg) translateY(6px); }
.pgf-circ-card-5[data-pgf-reveal].is-revealed{ transform:rotate(.25deg) translateY(0); }
.pgf-circ-card-6[data-pgf-reveal]{ transform:rotate(-.2deg) translateX(-7px); }
.pgf-circ-card-6[data-pgf-reveal].is-revealed{ transform:rotate(-.2deg) translateX(0); }

/* hover/focus always wins the tilt + lift, whichever reveal state the card is in
   (same specificity tier as the rules above; placed later so ties resolve here) */
.pgf-circ-card-1:not(.pgf-circ-empty):hover, .pgf-circ-card-1:not(.pgf-circ-empty):focus-visible,
.pgf-circ-card-2:not(.pgf-circ-empty):hover, .pgf-circ-card-2:not(.pgf-circ-empty):focus-visible,
.pgf-circ-card-3:not(.pgf-circ-empty):hover, .pgf-circ-card-3:not(.pgf-circ-empty):focus-visible,
.pgf-circ-card-4:not(.pgf-circ-empty):hover, .pgf-circ-card-4:not(.pgf-circ-empty):focus-visible,
.pgf-circ-card-5:not(.pgf-circ-empty):hover, .pgf-circ-card-5:not(.pgf-circ-empty):focus-visible,
.pgf-circ-card-6:not(.pgf-circ-empty):hover, .pgf-circ-card-6:not(.pgf-circ-empty):focus-visible{
  transform:translateY(-3px) rotate(0deg);
}

/* ---- circulation slip: one small environmental detail tucked behind
   Longest Read at desktop widths, where its position is predictable.
   Purely decorative flavor text, never the only source of information
   (the six real category labels/links are unaffected), so it's
   aria-hidden and skipped on narrower layouts rather than repositioned
   awkwardly. ---- */
.pgf-circ-slip{ display:none; pointer-events:none; }
@media(min-width:860px){
  .pgf-circ-slip{
    display:block; position:absolute; z-index:0; left:1%; bottom:-24px; width:172px;
    padding:12px 14px 13px; background:#FFFCF6; border:1px solid rgba(28,20,20,.25);
    box-shadow:3px 4px 0 rgba(122,16,48,.1); transform:rotate(-2deg);
  }
  .pgf-circ-slip-head{
    padding-bottom:7px; margin-bottom:7px; border-bottom:1px solid rgba(28,20,20,.2);
    font-size:7px; letter-spacing:.1em; text-transform:uppercase; color:var(--wine);
  }
  .pgf-circ-slip-head span{ display:block; margin-top:2px; color:rgba(28,20,20,.5); }
  .pgf-circ-slip-row{ display:flex; justify-content:space-between; gap:10px; font-size:7px; letter-spacing:.06em; text-transform:uppercase; padding:3px 0; }
  .pgf-circ-slip-row span{ color:rgba(28,20,20,.45); }
  .pgf-circ-slip-row strong{ color:var(--ink); font-weight:700; }
  .pgf-circ-slip-note{ display:block; margin-top:8px; font-size:13px; color:var(--wine); }
}

@media(prefers-reduced-motion:reduce){
  .pgf-circ-card-1[data-pgf-reveal], .pgf-circ-card-1[data-pgf-reveal].is-revealed{ transform:none!important; }
  .pgf-circ-card-2[data-pgf-reveal], .pgf-circ-card-2[data-pgf-reveal].is-revealed{ transform:rotate(-.6deg)!important; }
  .pgf-circ-card-3[data-pgf-reveal], .pgf-circ-card-3[data-pgf-reveal].is-revealed{ transform:rotate(.3deg)!important; }
  .pgf-circ-card-4[data-pgf-reveal], .pgf-circ-card-4[data-pgf-reveal].is-revealed{ transform:rotate(-.35deg)!important; }
  .pgf-circ-card-5[data-pgf-reveal], .pgf-circ-card-5[data-pgf-reveal].is-revealed{ transform:rotate(.25deg)!important; }
  .pgf-circ-card-6[data-pgf-reveal], .pgf-circ-card-6[data-pgf-reveal].is-revealed{ transform:rotate(-.2deg)!important; }
  .pgf-circ-treatment-folder::before,
  .pgf-circ-treatment-clip::after{ transition:none!important; }
}