:root{
  --paper: #EFE8D8;
  --paper-shadow: #E1D8C1;
  --ink: #201B14;
  --ink-soft: #4A4234;
  --oxblood: #7A2E2A;
  --teal: #2F4A52;
  --gold: #8C6B2E;
  --rule: rgba(32,27,20,0.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans', sans-serif;line-height:1.5;}
h1,h2,h3{font-family:'Fraunces', serif;font-weight:600;margin:0;}
.wrap{max-width:920px;margin:0 auto;padding:0 28px;}
a{color:inherit;}

header{padding:64px 0 40px;border-bottom:1px solid var(--rule);}
header h1{font-size:clamp(2.2rem, 5vw, 3.4rem);letter-spacing:-0.01em;}
header .role{font-family:'IBM Plex Mono', monospace;font-size:0.9rem;color:var(--ink-soft);margin-top:10px;}
nav{margin-top:36px;display:flex;gap:0;border-top:1px solid var(--rule);flex-wrap:wrap;}
nav a{text-decoration:none;padding:14px 0;margin-right:36px;font-family:'IBM Plex Mono', monospace;font-size:0.85rem;color:var(--ink-soft);border-top:2px solid transparent;margin-top:-1px;}
nav a:hover{color:var(--ink);border-top-color:var(--oxblood);}

section{padding:56px 0;border-bottom:1px solid var(--rule);}
section:last-of-type{border-bottom:none;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:8px;}
.section-head h2{font-size:1.7rem;font-style:italic;font-weight:500;}
.section-tag{font-family:'IBM Plex Mono', monospace;font-size:0.75rem;color:var(--ink-soft);}

.catalogue{display:flex;flex-direction:column;}
.card-entry{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:22px 0;border-top:1px solid var(--rule);align-items:start;}
.card-entry:last-child{border-bottom:1px solid var(--rule);}
.genre-label{font-family:'IBM Plex Mono', monospace;font-size:0.72rem;color:var(--oxblood);padding-top:4px;}
.card-entry h3{font-size:1.15rem;font-weight:600;}
.card-entry .meta{font-family:'IBM Plex Mono', monospace;font-size:0.75rem;color:var(--ink-soft);margin-top:4px;}
.card-entry p{margin:10px 0 0;font-size:0.92rem;color:var(--ink-soft);max-width:46ch;}
.card-entry .stamp{font-family:'IBM Plex Mono', monospace;font-size:0.7rem;border:1px solid var(--rule);padding:4px 8px;align-self:start;white-space:nowrap;color:var(--ink-soft);}

.track-list{display:flex;flex-direction:column;}
.track{display:grid;grid-template-columns:36px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--rule);}
.track:last-child{border-bottom:1px solid var(--rule);}
.play-dot{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--teal);text-decoration:none;}
.track .title{font-weight:500;font-size:0.98rem;}
.track .sub{font-family:'IBM Plex Mono', monospace;font-size:0.72rem;color:var(--ink-soft);margin-top:2px;}
.origin-tag{font-family:'IBM Plex Mono', monospace;font-size:0.68rem;color:var(--teal);border:1px solid var(--teal);padding:3px 7px;white-space:nowrap;}
.origin-tag.ia{color:var(--gold);border-color:var(--gold);}

.archive-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px,1fr));gap:16px;}
.clipping{aspect-ratio:3/4;background-size:cover;background-position:center;border:1px solid var(--rule);padding:12px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;text-decoration:none;color:inherit;}
.clipping::before{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;background:var(--oxblood);border-radius:50%;}
.clipping .cap{font-family:'IBM Plex Mono', monospace;font-size:0.66rem;color:var(--ink-soft);line-height:1.35;background:rgba(239,232,216,0.85);padding:4px;}

footer{padding:48px 0 64px;display:flex;flex-wrap:wrap;gap:8px 28px;font-family:'IBM Plex Mono', monospace;font-size:0.8rem;color:var(--ink-soft);}
footer a{text-decoration:underline;text-underline-offset:3px;}

.vazio{color:var(--ink-soft);font-style:italic;padding:20px 0;}

@media (max-width:600px){
  .card-entry{grid-template-columns:1fr;gap:6px;}
  .card-entry .stamp{justify-self:start;}
}
