
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#15111e; color:#F6F1FF; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  background-image:radial-gradient(rgba(246,241,255,0.05) 1px, transparent 1px),
    radial-gradient(rgba(246,241,255,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:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:900; font-size:1.3rem; color:#FF6FB5;
  margin-right:auto; letter-spacing:-.01em; }
.badgenav a { text-decoration:none; font-family:Futura, 'Century Gothic', '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%, #ffbede, #FF6FB5 55%, #a64876);
  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:#272330; border-radius:36px;
  box-shadow:0 14px 30px rgba(0,0,0,.3), inset 0 0 0 4px #FF6FB5, inset 0 0 0 8px #272330, inset 0 0 0 12px #ffbede;
  position:relative; }
.patch::before { content:""; position:absolute; inset:16px; border:3px dashed rgba(255,111,181,0.55);
  border-radius:26px; pointer-events:none; }
.patch__kick { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; letter-spacing:.28em; text-transform:uppercase;
  font-size:.8rem; font-weight:800; color:#FF6FB5; }
.patch h1 { font-family:Futura, 'Century Gothic', '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:#948BB0; }
.pinbtn { display:inline-block; font-family:Futura, 'Century Gothic', '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%, #ffbede, #FF6FB5 60%, #a64876);
  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, #ffbede, #a64876);
  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:Futura, 'Century Gothic', '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:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#FF6FB5; margin-bottom:.5rem; }
.about__tx p { color:#948BB0; }

.head { font-family:Futura, 'Century Gothic', '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%, #ffbede, #FF6FB5 60%, #a64876);
  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:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:800; font-size:1.2rem; margin-bottom:.3rem; }
.pin__cap p { color:#948BB0; 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 #272330; box-shadow:0 0 0 4px #ffbede, 0 10px 20px rgba(0,0,0,.28); }
.ring { position:absolute; inset:-4px 0 auto; }
.photopin figcaption { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:800; margin-top:.8rem;
  color:#FF6FB5; font-size:.9rem; }

/* quote */
.quote { text-align:center; padding:clamp(46px,8vw,90px) 6vw; margin-bottom:9vh;
  background:#272330; border-radius:36px; box-shadow:inset 0 0 0 3px rgba(255,111,181,0.55); }
.quote blockquote { font-family:Futura, 'Century Gothic', '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:#FF6FB5; }

/* contact */
.contact { text-align:center; padding:2vh 0; }
.contact h2 { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#FF6FB5; margin-bottom:.4rem; }
.contact p { color:#948BB0; margin-bottom:1.5rem; }
.tags { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.tags a, .tags span { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:700; text-decoration:none;
  padding:11px 22px; border-radius:999px; background:#272330;
  box-shadow:inset 0 0 0 2px #ffbede; }

@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:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:#F6F1FF;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:Futura, 'Century Gothic', '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:#FF6FB5;margin-bottom:10px;font-weight:700}

.xq-checklist{list-style:none;padding:0;margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 26px}
.xq-checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px dashed rgba(246,241,255,0.14)}
.xq-checklist li::before{content:"\2713";position:absolute;left:0;top:8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#FF6FB5;color:#141414;font-size:.75rem;font-weight:800}


.xq-strip{padding-left:0;padding-right:0}
.xq-strip .xq-wrap{padding:0 24px}
.xq-striprail{list-style:none;display:flex;gap:12px;overflow-x:auto;padding:14px 24px;scroll-snap-type:x mandatory}
.xq-striprail li{flex:0 0 min(64vw,300px);scroll-snap-align:start}
.xq-striprail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;display:block}


.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(246,241,255,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:#FF6FB5;box-shadow:0 0 0 4px rgba(246,241,255,0.05)}
.xq-tl-item time{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif;font-weight:800;color:#FF6FB5;display:block;margin-bottom:4px}
.xq-tl-item p{color:#948BB0;max-width:58ch}


/* =====================================================
   DESIGN DNA: candy-bubble
   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='140' height='140'%3E%3Ccircle cx='30' cy='30' r='9' fill='%23FF6FB5'/%3E%3Ccircle cx='100' cy='90' r='14' fill='%23a64d7f'/%3E%3Ccircle cx='60' cy='120' r='6' fill='%23FF6FB5'/%3E%3C/svg%3E");opacity:.10;}
h1,h2,h3{font-family:'Trebuchet MS', Tahoma, sans-serif !important;letter-spacing:-0.01em !important;font-weight:800 !important}
img{border-radius:22px !important;border:6px solid #ededee !important;box-shadow:0 8px 0 rgba(255,111,181,.45) !important;transform:rotate(-1.6deg)}
a[class*="btn"],button,span[class*="btn"]{border-radius:999px !important;border:3px solid #f8f4ff !important;font-weight:800;box-shadow:0 8px 0 rgba(248,244,255,.8) !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:32px !important;border:3px solid rgba(255,111,181,.7) !important;box-shadow:0 10px 0 rgba(255,111,181,.35) !important}
