/* RIVET certified wall — large GTM Pro portraits (.gtmpro from chrome.css), one per certified holder */
.gwall__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:clamp(16px,2vw,24px); }
.gwall__card{ display:flex; flex-direction:column; gap:12px; min-width:0; }
.gwall__card .gtmpro{ transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1); }
.gwall__card:hover .gtmpro{ transform:translateY(-4px); box-shadow:0 22px 44px -22px rgba(255,0,212,.5); }
.gwall__card .gtmpro__inner{ aspect-ratio:4/5; }
.gwall__card .gtmpro__inner img{ object-position:top center; }
.gwall__mono{ display:grid; place-items:center; width:100%; height:100%; font-size:clamp(2rem,1.6rem + 1.6vw,2.8rem); font-weight:600; letter-spacing:.02em; color:#fff; background:linear-gradient(160deg,#1a0a63,#0a0430); }
.gwall__meta{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.gwall__id{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.gwall__id b{ font-size:1.05rem; font-weight:600; line-height:1.3; color:#fff; }
.gwall__id small{ font-family:'IBM Plex Mono',monospace; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#FF00D4; }
.gwall__li{ flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:10px; color:#D1D1D9; border:1px solid rgba(255,255,255,.18); transition:color .2s ease, border-color .2s ease, background .2s ease; }
.gwall__li:hover{ color:#fff; border-color:#4CF3FE; background:rgba(76,243,254,.08); }
.gwall__li:focus-visible{ outline:2px solid #3B06D4; outline-offset:2px; }
.gwall__g{ margin:clamp(20px,2.4vw,28px) 0 12px; font-family:'IBM Plex Mono',monospace; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#4CF3FE; }
.gwall__g:first-child{ margin-top:0; }
.gwall__n{ margin-left:8px; color:#D1D1D9; }
@media (max-width:560px){ .gwall__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .gwall__id b{ font-size:.95rem; } }

/* one row of portraits with arrows (graduates.js) */
.gwall__rail{ position:relative; --gwg:clamp(14px,1.6vw,20px); padding-inline:56px; }
.gwall__track{ list-style:none; margin:0 0 -18px; padding:8px 0 24px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 4 * var(--gwg)) / 4.6); gap:var(--gwg); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
.gwall__track::-webkit-scrollbar{ display:none; }
.gwall__track > .gwall__card{ scroll-snap-align:start; }
.gwall__track:focus-visible{ outline:2px solid #3B06D4; outline-offset:4px; border-radius:12px; }
@media (max-width:900px){ .gwall__track{ grid-auto-columns:calc((100% - 2 * var(--gwg)) / 3.4); } }
@media (max-width:560px){ .gwall__rail{ padding-inline:0; } .gwall__track{ grid-auto-columns:calc((100% - var(--gwg)) / 2.2); } }
.gwall__arrow{ position:absolute; top:var(--gw-mid,40%); transform:translateY(-50%); z-index:2; width:44px; height:44px; padding:0; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:#fff; background:rgba(10,10,12,.8); border:1px solid rgba(255,255,255,.22); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:background .2s, color .2s, opacity .2s; }
.gwall__arrow--prev{ left:0; }
.gwall__arrow--next{ right:0; }
.gwall__arrow:hover{ background:#fff; color:#000; }
.gwall__arrow:focus-visible{ outline:2px solid #3B06D4; outline-offset:2px; }
.gwall__arrow:disabled{ opacity:0; pointer-events:none; }
.gwall__rail.is-static .gwall__arrow{ display:none; }
@media (max-width:560px){ .gwall__arrow{ width:38px; height:38px; } .gwall__arrow--prev{ left:6px; } .gwall__arrow--next{ right:6px; } }
