
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#070608; color:#f2ebe2; font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  background-image:radial-gradient(rgba(242,235,226,0.05) 1px, transparent 1px),
    radial-gradient(rgba(242,235,226,0.05) 1px, transparent 1px);
  background-size:8px 8px; background-position:0 0, 4px 4px; }
img { display:block; max-width:100%; }
a { color:inherit; }
.wall { max-width:1120px; margin:0 auto; padding:2vh 5vw 12vh; }

.badgenav { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:22px 0; }
.badgenav .logo { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; font-size:1.3rem; color:#c9a250;
  margin-right:auto; letter-spacing:-.01em; }
.badgenav a { text-decoration:none; font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; font-size:.9rem;
  padding:8px 18px; border-radius:999px; color:#141414;
  background:radial-gradient(circle at 30% 25%, #e7d5b0, #c9a250 55%, #836934);
  box-shadow:0 3px 6px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.4); }

/* hero patch */
.hero { padding:6vh 0 9vh; display:flex; justify-content:center; }
.patch { max-width:640px; width:100%; text-align:center; padding:clamp(40px,7vw,80px) clamp(28px,5vw,60px);
  background:#1a1819; border-radius:36px;
  box-shadow:0 14px 30px rgba(0,0,0,.3), inset 0 0 0 4px #c9a250, inset 0 0 0 8px #1a1819, inset 0 0 0 12px #e7d5b0;
  position:relative; }
.patch::before { content:""; position:absolute; inset:16px; border:3px dashed rgba(201,162,80,0.55);
  border-radius:26px; pointer-events:none; }
.patch__kick { font-family:Optima, Candara, 'Segoe UI', sans-serif; letter-spacing:.28em; text-transform:uppercase;
  font-size:.8rem; font-weight:800; color:#c9a250; }
.patch h1 { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; line-height:.92;
  font-size:clamp(2.4rem,9vw,5rem); margin:.25em 0 .35em; letter-spacing:-.01em; }
.patch p { max-width:34ch; margin:0 auto 1.6rem; color:#8a8078; }
.pinbtn { display:inline-block; font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; text-transform:uppercase;
  letter-spacing:.05em; text-decoration:none; padding:14px 32px; border-radius:999px;
  color:#141414; background:radial-gradient(circle at 30% 25%, #e7d5b0, #c9a250 60%, #836934);
  box-shadow:0 6px 12px rgba(0,0,0,.35), inset 0 2px 2px rgba(255,255,255,.5); transition:transform .15s; }
.pinbtn:hover { transform:translateY(-2px); }

/* enamel pin */
.pin__rim { display:block; width:100%; aspect-ratio:1; border-radius:50%;
  padding:6px; background:linear-gradient(145deg, #e7d5b0, #836934);
  box-shadow:0 8px 16px rgba(0,0,0,.3); }
.pin__disc { display:grid; place-items:center; width:100%; height:100%; border-radius:50%;
  background:radial-gradient(circle at 34% 28%, rgba(255,255,255,.55), transparent 42%),
    var(--face); color:var(--on); position:relative; }
.pin__no { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; font-size:2rem; }
.star { font-size:2.6rem; line-height:1; }

/* about */
.about { display:grid; grid-template-columns:160px 1fr; gap:clamp(20px,4vw,44px);
  align-items:center; margin:2vh 0 9vh; }
.pin--big { width:160px; }
.about__tx h2 { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#c9a250; margin-bottom:.5rem; }
.about__tx p { color:#8a8078; }

.head { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; font-size:clamp(2rem,6vw,3.4rem);
  text-align:center; margin:0 0 5vh; }
.head::after { content:""; display:block; width:70px; height:70px; margin:1rem auto 0;
  border-radius:50%; background:radial-gradient(circle at 32% 26%, #e7d5b0, #c9a250 60%, #836934);
  box-shadow:0 4px 10px rgba(0,0,0,.3); }

/* pin wall */
.pins { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:clamp(24px,4vw,48px); margin-bottom:10vh; }
.pin { text-align:center; }
.pin .pin__rim { max-width:150px; margin:0 auto 1rem; }
.pin__cap h3 { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; font-size:1.2rem; margin-bottom:.3rem; }
.pin__cap p { color:#8a8078; font-size:.92rem; }

/* photo pins */
.photopins { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:clamp(20px,3vw,38px); margin-bottom:10vh; }
.photopin { position:relative; text-align:center; }
.photopin img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:50%;
  border:6px solid #1a1819; box-shadow:0 0 0 4px #e7d5b0, 0 10px 20px rgba(0,0,0,.28); }
.ring { position:absolute; inset:-4px 0 auto; }
.photopin figcaption { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; margin-top:.8rem;
  color:#c9a250; font-size:.9rem; }

/* quote */
.quote { text-align:center; padding:clamp(46px,8vw,90px) 6vw; margin-bottom:9vh;
  background:#1a1819; border-radius:36px; box-shadow:inset 0 0 0 3px rgba(201,162,80,0.55); }
.quote blockquote { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; font-size:clamp(1.5rem,4.5vw,2.8rem);
  line-height:1.15; max-width:22ch; margin:0 auto; }
.quote cite { display:block; margin-top:1rem; font-style:normal; letter-spacing:.16em;
  text-transform:uppercase; font-size:.85rem; color:#c9a250; }

/* contact */
.contact { text-align:center; padding:2vh 0; }
.contact h2 { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#c9a250; margin-bottom:.4rem; }
.contact p { color:#8a8078; margin-bottom:1.5rem; }
.tags { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.tags a, .tags span { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:700; text-decoration:none;
  padding:11px 22px; border-radius:999px; background:#1a1819;
  box-shadow:inset 0 0 0 2px #e7d5b0; }

@media (max-width:640px) {
  .about { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .badgenav .logo { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }
  .pinbtn:hover { transform:none; } }


.xq{box-sizing:border-box;font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif;color:#f2ebe2;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c9a250;margin-bottom:10px;font-weight:700}

.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(242,235,226,0.14)}
.xq-tl-item{position:relative;padding:0 0 26px 26px}
.xq-tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#c9a250;box-shadow:0 0 0 4px rgba(242,235,226,0.05)}
.xq-tl-item time{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;color:#c9a250;display:block;margin-bottom:4px}
.xq-tl-item p{color:#8a8078;max-width:58ch}


.xq-steplist{counter-reset:xqs;list-style:none;padding:0;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.xq-step{counter-increment:xqs;position:relative;padding:18px 18px 18px 20px;border-left:3px solid #c9a250;background:rgba(242,235,226,0.05);border-radius:0 4px 4px 0}
.xq-step::before{content:"0" counter(xqs);display:block;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#c9a250;font-weight:800;margin-bottom:8px}
.xq-step h3{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:1.02rem;margin-bottom:6px}
.xq-step p{font-size:.9rem;color:#8a8078}


.xq-badges{padding:26px 24px;border-top:1px solid rgba(242,235,226,0.14);border-bottom:1px solid rgba(242,235,226,0.14);background:rgba(242,235,226,0.05)}
.xq-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.xq-badgehead{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-right:8px}
.xq-badge{border:1.5px solid #c9a250;color:#c9a250;border-radius:999px;padding:7px 16px;font-size:.8rem;font-weight:700;letter-spacing:.04em}


/* =====================================================
   DESIGN DNA: pixel-arcade
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Crect width='8' height='8' fill='%23f5efe8'/%3E%3Crect x='8' y='8' width='8' height='8' fill='%23f5efe8'/%3E%3C/svg%3E");opacity:.05;}
h1,h2,h3{font-family:'Courier New', Courier, monospace !important;text-transform:uppercase !important;letter-spacing:.02em !important;font-weight:800 !important}
img{image-rendering:pixelated;filter:contrast(1.3) saturate(1.4);border-radius:0 !important;border:4px solid #f5efe8 !important;box-shadow:6px 6px 0 rgba(201,162,80,.9) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:4px solid #f5efe8 !important;box-shadow:5px 5px 0 #c9a250 !important;font-family:'Courier New', Courier, monospace !important;text-transform:uppercase}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important;border:4px solid #f5efe8 !important;box-shadow:8px 8px 0 rgba(201,162,80,.5) !important}
