/*
Theme Name: Cell151 Urban Gym
Theme URI: https://cell151.gr
Author: Cell151
Author URI: https://cell151.gr
Description: Urban Street Gym — Ηράκλειο, Κρήτη. Underground training, street culture aesthetic με neon dark-mode design.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cell151
Tags: dark, one-page, fitness, greek
*/

/* ── TOKEN SYSTEM ── */
/* :root {
  --black:  #080808;
  --s1:     #111111;
  --s2:     #181818;
  --s3:     #252525;
  --s4:     #333333;
  --purple: #B347FF;
  --pink:   #FF2D78;
  --green:  #39FF14;
  --txt:    #F0EDE8;
  --txt2:   #888888;
  --txt3:   #444444;
  --disp:   'Bebas Neue', sans-serif;
  --body:   'Inter', sans-serif;
  --tag:    'Permanent Marker', cursive;
} */

:root {
  --black:  #080808;
  --s1:     #111111;
  --s2:     #181818;
  --s3:     #252525;
  --s4:     #333333;
  
  /* ΝΕΑ ΧΡΩΜΑΤΑ ΑΠΟ ΤΟ LOGO CELL151 */
  --purple: #8C1111; /* Σκούρο κόκκινο/μπορντό από το περίγραμμα */
  --pink:   #FFB800; /* Έντονο κίτρινο από το πάνω μέρος των γραμμάτων */
  --green:  #E65100; /* Σκούρο πορτοκαλί από το κάτω μέρος των γραμμάτων */
  
  --txt:    #F0EDE8;
  --txt2:   #888888;
  --txt3:   #444444;
  --disp:   'Bebas Neue', sans-serif;
  --body:   'Inter', sans-serif;
  --tag:    'Permanent Marker', cursive;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--txt);
  font-family: var(--body);
  overflow-x: hidden;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }

/* ── NAV ── */
#site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 999;
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.1rem 3rem;
  background: rgba(8,8,8,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(179,71,255,0.18);
  transition: border-color .3s, background .3s;
}
.nav-logo {
  font-family: var(--disp);
  font-size: 1.8rem;
  letter-spacing: .06em;
  background: linear-gradient(120deg, var(--purple) 0%, var(--pink) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* WordPress nav menu reset */
#site-nav .nav-menu {
  display: flex; gap: 2.2rem;
  list-style: none; margin: 0; padding: 0;
}
#site-nav .nav-menu a {
  color: var(--txt2);
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .18em;
  transition: color .2s;
}
#site-nav .nav-menu a:hover { color: var(--green); }
#site-nav .nav-menu .menu-cta a {
  border: 1px solid var(--purple);
  color: var(--purple);
  padding: .45rem 1.3rem;
  transition: background .2s, color .2s;
}
#site-nav .nav-menu .menu-cta a:hover { background: var(--purple); color: #fff; }

/* ── HERO ── */
#hero {
  min-height: 100vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 0 1.5rem 4rem;
  position: relative;
  overflow: hidden;
  background: var(--black);
}
.hero-bricks {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 34px, rgba(255,255,255,.025) 34px, rgba(255,255,255,.025) 35px),
    repeating-linear-gradient(90deg, transparent, transparent 54px, rgba(255,255,255,.025) 54px, rgba(255,255,255,.025) 55px);
  background-size: 55px 35px;
}
.hero-glow {
  position: absolute;
  top: 44%; left: 50%;
  transform: translate(-50%, -50%);
  width: 900px; height: 600px;
  background: radial-gradient(ellipse, rgba(179,71,255,.13) 0%, rgba(255,45,120,.07) 38%, transparent 68%);
  pointer-events: none;
}
.hero-spray { position: absolute; pointer-events: none; }
.hero-spray.tl { top: 12%; left: 6%; opacity: .18; }
.hero-spray.br { bottom: 16%; right: 5%; opacity: .12; }
.hero-eyebrow {
  font-family: var(--tag);
  color: var(--green);
  font-size: .95rem;
  letter-spacing: .28em;
  margin-bottom: 1.2rem;
  position: relative; z-index: 2;
  opacity: 0; animation: fadeUp .6s ease .25s forwards;
}
.hero-main {
  font-family: var(--disp);
  font-size: clamp(7rem, 19vw, 20rem);
  line-height: .82;
  letter-spacing: -.01em;
  position: relative; z-index: 2;
  margin-bottom: .18em;
  opacity: 0; animation: fadeUp .7s ease .45s forwards;
}
.glitch { position: relative; display: inline-block; color: var(--txt); }
.glitch::before, .glitch::after {
  content: attr(data-text);
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
}
.glitch::before {
  color: var(--pink);
  animation: glitch-a 4s infinite;
  clip-path: polygon(0 28%, 100% 28%, 100% 46%, 0 46%);
  left: -3px;
}
.glitch::after {
  color: var(--green);
  animation: glitch-b 4s infinite;
  clip-path: polygon(0 64%, 100% 64%, 100% 74%, 0 74%);
  left: 4px;
}
@keyframes glitch-a {
  0%,82%,100% { clip-path:polygon(0 0,0 0,0 0,0 0); transform:translate(0); }
  84% { clip-path:polygon(0 28%,100% 28%,100% 46%,0 46%); transform:translate(-5px,2px); }
  86% { clip-path:polygon(0 10%,100% 10%,100% 30%,0 30%); transform:translate(5px,-3px); }
  88% { clip-path:polygon(0 0,0 0,0 0,0 0); transform:translate(0); }
}
@keyframes glitch-b {
  0%,82%,100% { clip-path:polygon(0 0,0 0,0 0,0 0); transform:translate(0); }
  84% { clip-path:polygon(0 64%,100% 64%,100% 74%,0 74%); transform:translate(5px,-2px); }
  86% { clip-path:polygon(0 70%,100% 70%,100% 84%,0 84%); transform:translate(-5px,3px); }
  88% { clip-path:polygon(0 0,0 0,0 0,0 0); transform:translate(0); }
}
.hero-headline {
  font-family: var(--disp);
  font-size: clamp(2rem, 5.5vw, 5rem);
  letter-spacing: .06em; line-height: 1;
  position: relative; z-index: 2;
  opacity: 0; animation: fadeUp .6s ease .65s forwards;
}
.hero-headline .accent { color: var(--pink); }
.hero-sub {
  color: var(--txt2);
  font-size: clamp(.9rem, 1.8vw, 1.05rem);
  max-width: 520px; margin: 1.6rem auto;
  line-height: 1.85;
  position: relative; z-index: 2;
  opacity: 0; animation: fadeUp .6s ease .85s forwards;
}
.hero-sub strong { color: var(--txt); }
.hero-ctas {
  display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center;
  position: relative; z-index: 2;
  opacity: 0; animation: fadeUp .6s ease 1.05s forwards;
}
.btn-pri {
  background: linear-gradient(130deg, var(--purple) 0%, var(--pink) 100%);
  color: #fff;
  font-family: var(--disp); font-size: 1.25rem; letter-spacing: .14em;
  padding: 1rem 2.6rem;
  clip-path: polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  border: none; cursor: pointer; display: inline-block;
  transition: box-shadow .25s, filter .25s;
}
.btn-pri:hover { box-shadow: 0 0 32px rgba(179,71,255,.55); filter: brightness(1.1); }
.btn-sec {
  background: transparent; color: var(--txt2);
  font-family: var(--disp); font-size: 1.25rem; letter-spacing: .14em;
  padding: 1rem 2.6rem; border: 1px solid var(--s3); cursor: pointer; display: inline-block;
  clip-path: polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition: border-color .2s, color .2s;
}
.btn-sec:hover { border-color: var(--green); color: var(--green); }
.hero-scroll {
  position: absolute; bottom: 2rem; left: 50%;
  transform: translateX(-50%); z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  color: var(--txt3); font-size: .68rem; letter-spacing: .22em; text-transform: uppercase;
}
.scroll-line {
  width: 1px; height: 42px;
  background: linear-gradient(to bottom, var(--purple), transparent);
  animation: pulse-line 2.2s ease-in-out infinite;
}
@keyframes pulse-line {
  0%,100% { opacity:.3; transform:scaleY(1); }
  50% { opacity:1; transform:scaleY(1.15); }
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── SHARED ── */
.sec-inner { max-width: 1200px; margin: 0 auto; padding: 6rem 2rem; }
.eyebrow {
  display: block; font-family: var(--tag); color: var(--green);
  font-size: .82rem; letter-spacing: .32em; text-transform: uppercase; margin-bottom: .8rem;
}
.sec-title {
  font-family: var(--disp); font-size: clamp(3rem, 7vw, 6rem);
  line-height: .92; letter-spacing: .04em; margin-bottom: 1.2rem;
}
.reveal { opacity:0; transform:translateY(36px); transition:opacity .75s ease,transform .75s ease; }
.reveal.in { opacity:1; transform:translateY(0); }
.neon-sep {
  height: 2px;
  background: linear-gradient(90deg,transparent,var(--purple),var(--pink),var(--green),transparent);
  opacity: .4;
}

/* ── ABOUT ── */
#about {
  background: var(--s1); position: relative; z-index: 1;
  clip-path: polygon(0 4.5%, 100% 0, 100% 95.5%, 0 100%);
  margin: -3% 0;
}
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-text p { color:var(--txt2); font-size:1rem; line-height:1.95; margin-bottom:1.3rem; }
.about-text p strong { color:var(--txt); font-weight:600; }
.about-tags { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.tag {
  font-family:var(--disp); font-size:.85rem; letter-spacing:.1em;
  padding:.38rem 1rem; border:1px solid;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
}
.tg-pur { border-color:var(--purple); color:var(--purple); }
.tg-pnk { border-color:var(--pink);   color:var(--pink);   }
.tg-grn { border-color:var(--green);  color:var(--green);  }
.about-wall { position:relative; height:480px; background:var(--s2); overflow:hidden; }
.about-wall::before {
  content:''; position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(255,255,255,.022) 28px, rgba(255,255,255,.022) 29px),
    repeating-linear-gradient(90deg, transparent, transparent 44px, rgba(255,255,255,.022) 44px, rgba(255,255,255,.022) 45px);
  background-size:45px 29px;
}
.about-wall::after {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(179,71,255,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 75%, rgba(255,45,120,.12) 0%, transparent 50%);
}
.wall-graffiti { position:absolute; bottom:2.5rem; left:2.5rem; right:2.5rem; z-index:2; }
.wall-big {
  font-family:var(--tag); font-size:5.5rem; line-height:.9;
  background:linear-gradient(135deg,var(--purple),var(--pink) 50%,var(--green));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  transform:rotate(-4deg); display:inline-block;
  filter:drop-shadow(0 0 18px rgba(179,71,255,.4));
}
.wall-small { font-family:var(--tag); font-size:1.25rem; color:var(--txt3); margin-top:.4rem; }
.wall-cross { position:absolute; top:2rem; right:2rem; width:44px; height:44px; z-index:2; opacity:.28; }
.wall-cross::before,.wall-cross::after { content:''; position:absolute; background:var(--green); }
.wall-cross::before { width:100%; height:2px; top:50%; }
.wall-cross::after  { width:2px; height:100%; left:50%; }
.wall-dot {
  position:absolute; top:3rem; left:3rem; width:12px; height:12px;
  background:var(--pink); border-radius:50%; z-index:2; opacity:.5;
  box-shadow:0 0 12px var(--pink);
}

/* ── PRICING ── */
#pricing { background:var(--black); position:relative; z-index:2; }
.pricing-intro { text-align:center; max-width:540px; margin:0 auto 3.5rem; }
.pricing-intro p { color:var(--txt2); font-size:1rem; margin-top:.8rem; line-height:1.8; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3.5rem; max-width: 900px; margin: 0 auto; }
.pcard {
  background:var(--s1); border:1px solid var(--s3); padding:2.5rem 2rem; position:relative;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
  transition:border-color .3s,box-shadow .3s;
}
.pcard:hover { border-color:var(--s4); box-shadow:0 0 24px rgba(179,71,255,.08); }
.pcard.feat { border-color:var(--pink); background:linear-gradient(160deg,rgba(255,45,120,.07),var(--s1)); }
.pcard.feat:hover { box-shadow:0 0 30px rgba(255,45,120,.2); }
.pcard-badge {
  position:absolute; top:-1px; right:-1px;
  background:var(--pink); color:#fff;
  font-family:var(--disp); font-size:.68rem; letter-spacing:.16em; padding:.28rem 1rem;
}
.pcard-tier { font-family:var(--tag); font-size:.95rem; letter-spacing:.22em; margin-bottom:.5rem; }
.tc-grn { color:var(--green); }
.tc-pnk { color:var(--pink);  }
.tc-pur { color:var(--purple);}
.pcard-price { font-family:var(--disp); font-size:4.5rem; line-height:1; margin-bottom:.15rem; }
.pcard-price span { font-size:1.6rem; }
.pcard-period { color:var(--txt3); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.8rem; }
.pcard-divider { height:1px; background:var(--s3); margin-bottom:1.5rem; }
.pcard-features { list-style:none; margin-bottom:2rem; }
.pcard-features li {
  color:var(--txt2); font-size:.88rem; line-height:1.45;
  padding:.48rem 0; display:flex; align-items:flex-start; gap:.7rem;
}
.pcard-features li::before { content:'—'; font-weight:700; flex-shrink:0; margin-top:.02rem; }
.fc-grn .pcard-features li::before { color:var(--green); }
.fc-pnk .pcard-features li::before { color:var(--pink);  }
.fc-pur .pcard-features li::before { color:var(--purple);}
.pbtn {
  display:block; text-align:center; font-family:var(--disp);
  font-size:1.1rem; letter-spacing:.1em; padding:.9rem;
  border:1px solid;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
  transition:background .22s,color .22s,box-shadow .22s;
}
.pb-grn { border-color:var(--green); color:var(--green); }
.pb-grn:hover { background:var(--green); color:var(--black); }
.pb-pnk { border-color:var(--pink); color:var(--pink); background:rgba(255,45,120,.08); }
.pb-pnk:hover { background:var(--pink); color:#fff; box-shadow:0 0 22px rgba(255,45,120,.45); }
.pb-pur { border-color:var(--purple); color:var(--purple); }
.pb-pur:hover { background:var(--purple); color:#fff; box-shadow:0 0 22px rgba(179,71,255,.45); }

/* ── HOURS ── */
#hours {
  background:var(--s1); position:relative; z-index:1;
  clip-path:polygon(0 4%,100% 0,100% 100%,0 100%);
  padding-top:2rem;
}
.hours-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:3rem; }
.hcard {
  background:var(--s2); border:1px solid var(--s3); padding:1.8rem 2rem;
  display:flex; justify-content:space-between; align-items:center;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  transition:border-color .3s;
}
.hcard:hover { border-color:var(--purple); }
.hcard.holiday {
  flex-direction:column; justify-content:center; text-align:center; gap:.6rem; border-style:dashed;
}
.hday { font-family:var(--disp); font-size:1.4rem; letter-spacing:.06em; color:var(--txt); }
.hsub { font-size:.72rem; color:var(--txt3); letter-spacing:.16em; text-transform:uppercase; margin-top:.25rem; }
.htime {
  font-family:var(--disp); font-size:2rem; letter-spacing:.04em; text-align:right;
  background:linear-gradient(130deg,var(--purple),var(--pink));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hholiday-label { font-family:var(--disp); font-size:1.2rem; letter-spacing:.06em; color:var(--txt2); }
.hholiday-sub { font-size:.82rem; color:var(--txt3); }
.hholiday-link {
  color:var(--green); font-family:var(--disp); font-size:.85rem; letter-spacing:.12em; transition:opacity .2s;
}
.hholiday-link:hover { opacity:.7; }
.status-pill {
  display:inline-block; margin-top:2.5rem;
  font-family:var(--disp); font-size:.8rem; letter-spacing:.18em;
  padding:.28rem 1rem; background:rgba(57,255,20,.08);
  border:1px solid var(--green); color:var(--green);
  clip-path:polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%);
}
.status-dot {
  display:inline-block; width:8px; height:8px;
  background:var(--green); border-radius:50%; margin-right:.5rem;
  animation:blink 1.8s ease-in-out infinite;
  box-shadow:0 0 6px var(--green);
}
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.35;} }

/* ── INSTAGRAM ── */
#instagram { background:var(--black); position:relative; z-index:2; }
.insta-hdr { display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:3rem; }
.insta-hdr .sec-title { margin-bottom:1.4rem; }
.insta-handle {
  display:inline-flex; align-items:center; gap:.8rem;
  font-family:var(--disp); font-size:1.9rem; letter-spacing:.08em; color:var(--txt);
  padding:.75rem 2.2rem; border:1px solid var(--s3);
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:border-color .3s,box-shadow .3s; margin-bottom:1.1rem;
}
.insta-handle:hover { border-color:var(--pink); box-shadow:0 0 24px rgba(255,45,120,.22); }
.insta-icon {
  width:30px; height:30px;
  background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  border-radius:7px; display:flex; align-items:center; justify-content:center;
  font-size:1rem; flex-shrink:0; color:#fff;
}
.insta-desc { color:var(--txt2); font-size:.95rem; max-width:480px; line-height:1.85; }
.feed-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:4px; margin-top:1.5rem; }
.feed-cell { aspect-ratio:1; position:relative; overflow:hidden; background:var(--s2); cursor:pointer; }
.feed-cell::before {
  content:''; position:absolute; inset:0;
  background-size:200% 200%;
  animation:shimmer 2.4s ease-in-out infinite;
}
.feed-cell:nth-child(1)::before { background:linear-gradient(140deg,rgba(179,71,255,.22),var(--s2),rgba(179,71,255,.1)); }
.feed-cell:nth-child(2)::before { background:linear-gradient(140deg,rgba(255,45,120,.2), var(--s2),rgba(255,45,120,.08)); }
.feed-cell:nth-child(3)::before { background:linear-gradient(140deg,var(--s3),var(--s2)); }
.feed-cell:nth-child(4)::before { background:linear-gradient(140deg,rgba(57,255,20,.12), var(--s2),rgba(57,255,20,.06)); }
.feed-cell:nth-child(5)::before { background:linear-gradient(140deg,rgba(255,45,120,.16),var(--s2)); }
.feed-cell:nth-child(6)::before { background:linear-gradient(140deg,rgba(179,71,255,.18),var(--s2),rgba(57,255,20,.08)); }
@keyframes shimmer { 0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;} }
.feed-cell::after { content:''; position:absolute; inset:0; background:rgba(179,71,255,.32); opacity:0; transition:opacity .3s; }
.feed-cell:hover::after { opacity:1; }
.feed-placeholder-label {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--disp); font-size:.7rem; letter-spacing:.12em; color:var(--txt3); z-index:1;
}
.insta-cta { display:flex; justify-content:center; margin-top:2.8rem; }

/* ── CONTACT ── */
#contact {
  background:var(--s1); position:relative; z-index:1;
  clip-path:polygon(0 4%,100% 0,100% 100%,0 100%);
  padding-top:2rem;
}
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; margin-top:3rem; }
.cinfo-block { margin-bottom:2.4rem; }
.cinfo-label { font-family:var(--tag); font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; color:var(--green); margin-bottom:.5rem; }
.cinfo-value { font-family:var(--disp); font-size:1.6rem; letter-spacing:.04em; line-height:1.25; color:var(--txt); }
.cinfo-value a { color:inherit; transition:color .2s; }
.cinfo-value a:hover { color:var(--pink); }
.social-row { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2.2rem; }
.social-chip {
  font-family:var(--disp); font-size:.88rem; letter-spacing:.14em;
  padding:.55rem 1.4rem; border:1px solid var(--s3); color:var(--txt2);
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
  transition:border-color .2s,color .2s;
}
.social-chip:hover { border-color:var(--pink); color:var(--pink); }
.map-wrap {
  background:var(--s2); border:1px solid var(--s3);
  height:360px; position:relative; overflow:hidden;
}
.map-wrap iframe {
  width:100%; height:100%; border:0;
  filter:grayscale(100%) invert(85%) contrast(90%);
  opacity:.75; mix-blend-mode:luminosity; display:block;
}
.map-overlay {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top,rgba(8,8,8,.85) 0%,transparent 100%);
  padding:1.5rem; pointer-events:none;
}
.map-pin-label { font-family:var(--disp); font-size:1rem; letter-spacing:.08em; color:var(--txt); }
.map-pin-sub { font-size:.78rem; color:var(--txt2); margin-top:.2rem; }

/* ── FOOTER ── */
footer {
  background:var(--black); padding:4rem 2rem 2.5rem;
  border-top:1px solid var(--s2); text-align:center;
}
.footer-logo {
  font-family:var(--disp); font-size:3.5rem; letter-spacing:.06em;
  background:linear-gradient(120deg,var(--purple),var(--pink));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:.6rem;
}
.footer-tag { font-family:var(--tag); color:var(--txt3); font-size:.92rem; margin-bottom:1.8rem; }
.footer-links { display:flex; justify-content:center; gap:2rem; margin-bottom:2rem; list-style:none; }
.footer-links a { color:var(--txt3); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; transition:color .2s; }
.footer-links a:hover { color:var(--green); }
.footer-divider { height:1px; background:var(--s2); margin-bottom:1.5rem; }
.footer-copy { font-size:.72rem; color:var(--txt3); letter-spacing:.1em; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  #site-nav { padding:1rem 1.5rem; }
  #site-nav .nav-menu { display:none; }
  .about-grid,.contact-grid { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; max-width:380px; margin-left:auto; margin-right:auto; }
  .hours-grid { grid-template-columns:1fr; }
  .feed-grid { grid-template-columns:repeat(3,1fr); }
  .about-wall { height:280px; }
  #about,#hours,#contact { clip-path:none; margin:0; }
  #about .sec-inner,#hours .sec-inner,#contact .sec-inner { padding-top:5rem; }
  .wall-big { font-size:3.5rem; }
}
@media (max-width: 560px) {
  .feed-grid { grid-template-columns:repeat(2,1fr); }
  .hero-ctas { flex-direction:column; align-items:center; }
}
@media (prefers-reduced-motion: reduce) {
  .glitch::before,.glitch::after { display:none; }
  .scroll-line { animation:none; }
  .status-dot { animation:none; }
}
