:root{
  --ch-bg:#070707;
  --ch-panel:#0d0d0d;
  --ch-red:#D10F1F;
  --ch-red-dark:#740A12;
  --ch-cream:#F2EEE6;
  --ch-copy:#bdb8ad;
  --ch-muted:#6E6A62;
  --ch-line:#1c1c1c;
}

.links-page{
  position:relative;
  min-height:100vh;
  overflow-x:hidden;
  background:var(--ch-bg);
  color:var(--ch-cream);
  font-family:'Sora',sans-serif;
}
.links-grain{
  position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="200" height="200"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2"/%3E%3C/filter%3E%3Crect width="200" height="200" filter="url(%23n)"/%3E%3C/svg%3E');
}
.links-progress{position:fixed;inset:0 0 auto;height:3px;z-index:55;background:rgba(255,255,255,.04)}
.links-progress #chv-progress{height:100%;width:0;background:linear-gradient(90deg,var(--ch-red-dark),var(--ch-red));box-shadow:0 0 12px rgba(209,15,31,.8)}
.links-cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid rgba(242,238,230,.7);border-radius:50%;z-index:90;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,background .25s ease,border-color .25s ease,opacity .3s ease;opacity:0;mix-blend-mode:difference}
.links-cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;background:var(--ch-red);border-radius:50%;z-index:91;pointer-events:none;transform:translate(-50%,-50%);opacity:0}

.links-header{
  position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;background:rgba(7,7,7,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(242,238,230,.08);
}
.links-brand{display:flex;align-items:center;gap:12px}
.links-brand img{width:38px;height:38px;border-radius:50%;display:block;object-fit:cover}
.links-brand span{font-family:'Archivo',sans-serif;font-weight:900;font-size:14px;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.links-back{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-copy);padding:9px 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.links-back:hover{color:var(--ch-cream);border-color:var(--ch-red)}

.links-main{position:relative;z-index:1;padding-top:75px}
.links-watermark{position:fixed;right:-7vw;top:15vh;pointer-events:none;z-index:0;user-select:none;opacity:.022;transform:rotate(-8deg)}
.links-watermark span{font-family:'Archivo',sans-serif;font-size:clamp(240px,34vw,620px);font-weight:900;line-height:.75;letter-spacing:-.08em;-webkit-text-stroke:2px var(--ch-cream);color:transparent}

/* Compact identity: links must already be visible in the first viewport. */
.links-top{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:42px 40px 26px}
.links-top-copy{max-width:900px}
.links-meta{display:flex;justify-content:space-between;gap:24px;margin-bottom:25px;opacity:0;transform:translateY(12px);transition:all .65s ease;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a857c}
.links-meta span:first-child{color:var(--ch-red)}
.links-top h1{margin:0;opacity:0;transform:translateY(18px);transition:all .75s cubic-bezier(.2,.8,.2,1);font-family:'Archivo',sans-serif;font-size:clamp(44px,7vw,92px);font-weight:900;line-height:.86;letter-spacing:-.04em;text-transform:uppercase}
.links-top h1 span{color:var(--ch-red)}
.links-intro{margin:14px 0 0;opacity:0;transform:translateY(12px);transition:all .7s ease;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ch-copy)}

.links-list-section{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:18px 40px 86px}
.links-list{border-bottom:1px solid var(--ch-line)}
.link-row{
  position:relative;display:grid;grid-template-columns:62px 1fr;align-items:center;min-height:96px;padding:17px 8px;
  border-top:1px solid var(--ch-line);opacity:0;transform:translateY(14px);
  transition:opacity .7s ease,transform .7s ease,background .25s ease,padding .25s ease,color .25s ease;overflow:hidden;
}
.link-row::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(209,15,31,.10),transparent 64%);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.link-row:hover{padding-left:16px;padding-right:16px;background:#0b0b0b}
.link-row:hover::before{transform:scaleX(1)}
.link-index{font-family:'Space Mono',monospace;font-size:11px;color:var(--ch-muted);letter-spacing:.12em;transition:color .2s ease}
.link-copy{display:flex;flex-direction:column;gap:6px}
.link-copy strong{font-family:'Archivo',sans-serif;font-size:clamp(23px,2.4vw,34px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase;font-weight:900}
.link-copy small{font-family:'Sora',sans-serif;font-size:13px;line-height:1.35;color:#8a857c;transition:color .2s ease}
.link-row:hover .link-index{color:var(--ch-red)}

.link-row-primary{background:linear-gradient(90deg,var(--ch-red),#9f0b18 72%,#730811);border-color:#e51a2a;color:var(--ch-cream)}
.link-row-primary::before{display:none}
.link-row-primary:hover{background:linear-gradient(90deg,#df1122,#ad0c1b 72%,#7b0913);padding-left:16px;padding-right:16px}
.link-row-primary .link-index,.link-row-primary .link-copy small{color:rgba(242,238,230,.74)}
.link-row-primary:hover .link-index{color:var(--ch-cream)}

.links-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:30px 40px;border-top:1px solid var(--ch-line);max-width:1280px;margin:0 auto}
.links-footer>div:first-child{display:flex;align-items:center;gap:12px}
.links-footer img{width:32px;height:32px;border-radius:50%;object-fit:cover;opacity:.9}
.links-footer>div:first-child span{font-family:'Archivo',sans-serif;font-weight:900;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.links-footer-meta{display:flex;gap:28px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.12em;color:var(--ch-muted);text-transform:uppercase}

@media (max-width:900px){
  .links-header{padding:15px 20px!important}
  .links-brand span{font-size:11px;letter-spacing:.11em}
  .links-brand img{width:34px;height:34px}
  .links-back{font-size:9px}
  .links-main{padding-top:65px}
  .links-top{padding:30px 20px 18px}
  .links-meta{display:block;margin-bottom:18px;font-size:9px;line-height:1.7}
  .links-meta span{display:block}
  .links-top h1{font-size:clamp(40px,13vw,64px);line-height:.9}
  .links-intro{margin-top:11px;font-size:9px;line-height:1.5}
  .links-list-section{padding:12px 20px 62px}
  .link-row{grid-template-columns:42px 1fr;min-height:82px;padding:14px 4px}
  .link-row:hover,.link-row-primary:hover{padding-left:4px;padding-right:4px}
  .link-copy{gap:5px}
  .link-copy strong{font-size:clamp(21px,6.3vw,28px)}
  .link-copy small{font-size:12px}
  .links-watermark{right:-22vw;top:19vh}
  .links-watermark span{font-size:78vw}
  .links-footer{padding:26px 20px;display:block}
  .links-footer-meta{margin-top:16px;display:block;line-height:1.9}
}

@media (max-width:430px){
  .links-brand span{display:none}
  .links-top{padding-top:24px}
  .links-top h1{font-size:13vw}
  .links-list-section{padding-top:8px}
  .link-row{grid-template-columns:34px 1fr;min-height:78px}
  .link-index{font-size:9px}
  .link-copy strong{font-size:20px}
  .link-copy small{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
  .links-page *{scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .link-row,.link-row::before,.links-back{transition:none!important}
  .links-watermark{transform:none!important}
}
