
:root{--v:#1a7a30;--v2:#399b53;--n:#0A0A0A;--b:#FFFFFF;--gl:#D1D5DB;--a:#F59E0B;--br:rgba(57,155,83,0.18);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--n);color:var(--b);font-family:'Space Mono',monospace;overflow-x:hidden;}






.hero{min-height:48vh;display:flex;align-items:flex-end;padding:120px 64px 52px;position:relative;overflow:hidden;border-bottom:1px solid var(--br);}
.hero-grid{position:absolute;inset:0;background:linear-gradient(rgba(57,155,83,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(57,155,83,.05) 1px,transparent 1px);background-size:48px 48px;}
.hero-inner{max-width:1100px;margin:0 auto;width:100%;position:relative;z-index:1;}
.hero-tag{font-family:'DM Serif Display',cursive;font-size:1.05rem;color:var(--a);display:block;margin-bottom:14px;opacity:0;animation:fu .6s ease .2s forwards;}
.hero-title{font-family:'DM Serif Display',serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:.95;margin-bottom:16px;opacity:0;animation:fu .8s ease .35s forwards;}
.hero-title em{color:var(--v2);font-style:italic;display:block;}
.hero-sub{font-size:0.75rem;line-height:1.85;color:rgba(255,255,255,0.65);max-width:440px;opacity:0;animation:fu .8s ease .5s forwards;}
.page-body{max-width:1100px;margin:0 auto;padding:52px 64px 80px;}
.filters{display:flex;gap:2px;margin-bottom:40px;}
.filt-btn{padding:10px 18px;border:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,0.65);font-family:'Space Mono',monospace;font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color .25s,color .25s,background .25s;}
.filt-btn:hover{border-color:var(--br);color:var(--b);}
.filt-btn.active{border-color:var(--v2);background:rgba(57,155,83,.12);color:var(--b);box-shadow:inset 0 0 0 1px rgba(57,155,83,.35);}
/* SEARCH */
.search-bar{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);padding:12px 18px;margin-bottom:24px;transition:border-color .3s;}
.search-bar:focus-within{border-color:rgba(57,155,83,.4);}
.search-icon{color:rgba(255,255,255,0.65);font-size:1.1rem;line-height:1;}
.search-input{flex:1;background:transparent;border:none;outline:none;font-family:'Space Mono',monospace;font-size:0.75rem;letter-spacing:.08em;color:var(--b);caret-color:var(--v2);}
.search-input::placeholder{color:rgba(255,255,255,0.65);}
.search-clear{background:transparent;border:none;color:rgba(255,255,255,0.65);cursor:pointer;font-size:0.75rem;padding:0 4px;transition:color .25s;}
.search-clear:hover{color:var(--a);}
.search-highlight{background:rgba(57,155,83,.2);color:var(--b);border-radius:2px;padding:0 2px;}
.count-bar{display:flex;align-items:center;gap:16px;margin-bottom:28px;}
.count-txt{font-size:0.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
.count-n{color:var(--v2);}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.art-card{background:#111;border:1px solid rgba(255,255,255,.06);padding:28px;text-decoration:none;color:var(--b);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .3s,background .3s;}
.art-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--v2);transform:scaleY(0);transform-origin:bottom;transition:transform .3s;}
.art-card:hover{border-color:var(--br);background:rgba(57,155,83,.03);}
.art-card:hover::before{transform:scaleY(1);}
.art-card.feat{grid-column:span 2;background:var(--v);}
.art-card.feat::before{background:var(--a);}
.art-card.feat:hover{background:var(--v2);}
.ac-cat{font-size:0.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--a);margin-bottom:14px;display:block;}
.art-card.feat .ac-cat{color:rgba(255,255,255,0.65);}
.ac-title{font-family:'DM Serif Display',serif;font-size:clamp(.95rem,1.8vw,1.3rem);font-weight:400;line-height:1.25;margin-bottom:12px;flex:1;}
.ac-ex{font-size:0.75rem;line-height:1.75;color:rgba(255,255,255,0.65);margin-bottom:20px;}
.art-card.feat .ac-ex{flex:1;}

.nota-badge{display:inline-block;font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(57,155,83,.12);border:1px solid rgba(57,155,83,.3);color:var(--v2);padding:2px 7px;margin-bottom:10px;}
.ac-link{font-family:'Space Mono',monospace;font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--a);transition:letter-spacing .3s;display:inline-flex;align-items:center;gap:6px;margin-top:auto;}
.ac-link:hover{letter-spacing:.28em;}
.empty{padding:60px;text-align:center;grid-column:span 3;}
.empty p{font-size:0.75rem;color:rgba(255,255,255,0.65);letter-spacing:.15em;}
.loading-state{padding:80px;text-align:center;grid-column:span 3;display:flex;flex-direction:column;align-items:center;gap:12px;}
.loading-bar{width:120px;height:1px;background:rgba(255,255,255,.08);overflow:hidden;}
.loading-fill{height:100%;background:var(--v2);animation:ld 1.5s ease-in-out infinite;}
@keyframes ld{0%{width:0;transform:translateX(0);}50%{width:60%;}100%{width:0;transform:translateX(120px);}}
.loading-txt{font-size:0.75rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
footer{border-top:1px solid rgba(255,255,255,.05);padding:24px 64px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
footer p{font-size:0.75rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
@keyframes fu{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
  @media(max-width:480px){
    
    .page-body{padding:28px 16px 48px;}.hero{padding:90px 16px 40px;}
    .hero-title{font-size:clamp(2rem,10vw,3.2rem);}
    .filt-btn{padding:8px 12px;font-size:0.75rem;}
  }
@media(max-width:900px){
  
  .hero{padding:100px 24px 44px;min-height:auto;}
  .page-body{padding:36px 24px 60px;}
  .art-grid{grid-template-columns:1fr;}
  .art-card.feat{grid-column:span 1;}
  .filters{flex-wrap:wrap;}
  .empty{grid-column:span 1;}.loading-state{grid-column:span 1;}
  footer{padding:20px 24px;flex-direction:column;}
}

/* MOBILE NAV HAMBURGER */
.ham { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; z-index:300; border:none; background:transparent; }
.ham span { display:block; width:22px; height:1.5px; background:var(--b,#fff); transition:transform .3s, opacity .3s; }



.mob-menu {
  display:none; position:fixed; inset:0; z-index:250;
  background:rgba(10,10,10,.97); backdrop-filter:blur(20px);
  flex-direction:column; align-items:center; justify-content:center; gap:0;
  opacity:0; transform:translateY(-8px); transition:opacity .3s, transform .3s;
pointer-events:none;}
.mob-menu.open { opacity:1; transform:translateY(0); pointer-events:auto;}
.mob-menu a {
  font-family:'Space Mono',monospace; font-size:1rem; letter-spacing:.3em;
  text-transform:uppercase; color:rgba(255,255,255,0.65); text-decoration:none;
  padding:20px 0; width:100%; text-align:center;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:color .25s, background .25s;
}
.mob-menu a:first-child { border-top:1px solid rgba(255,255,255,.06); }

.mob-menu a.on { color:#fff; }
@media(max-width:768px) {
  .ham { display:flex; }
  .nl, .nt { display:none !important; }
  .mob-menu { display:flex; pointer-events:none; }
  .mob-menu.open { pointer-events:all; }
}

/* ── NAV ─────────────────────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;transition:background .4s;}
nav.on{background:rgba(10,10,10,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(57,155,83,.18);}
.n-logo{font-family:'DM Serif Display',serif;font-size:1rem;font-weight:900;letter-spacing:.15em;color:#fff;text-decoration:none;text-transform:uppercase;}
.n-logo .d{color:#399b53;}
.n-links{display:flex;gap:28px;align-items:center;}
.n-links a{font-size:0.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,0.65);text-decoration:none;transition:color .3s;}
.n-links a:hover,.n-links a.on{color:#F59E0B;}
.n-tag{font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
/* HAMBURGER */
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;border:none;background:transparent;z-index:300;}
.ham span{display:block;width:22px;height:1.5px;background:#fff;transition:transform .3s,opacity .3s;}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob-menu{display:none;position:fixed;inset:0;z-index:250;background:rgba(10,10,10,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s;pointer-events:none;}
.mob-menu.open{opacity:1;transform:translateY(0);pointer-events:all;}
.mob-menu a{font-family:'Space Mono',monospace;font-size:1rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,0.65);text-decoration:none;padding:20px 0;width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);transition:color .25s;}
.mob-menu a:first-child{border-top:1px solid rgba(255,255,255,.06);}
.mob-menu a:hover,.mob-menu a.on{color:#F59E0B;}
@media(max-width:768px){
  nav{padding:16px 20px;}
  .ham{display:flex;}
  .n-links,.n-tag{display:none!important;}
  .mob-menu{display:flex;}
}
