
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#ebefeb;color:#f0f4f0;font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif;line-height:1.6}
img{max-width:100%;display:block}
a{color:#4dff88;text-decoration:none}
::selection{background:#4dff88;color:#141414}
:focus-visible{outline:3px solid #4dff88;outline-offset:3px}
.memphis{position:relative;max-width:74rem;margin:0 auto;overflow:hidden;
  padding:0 clamp(14px,4vw,40px) 4.40rem}
.pop{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;font-size:clamp(1.6rem,5vw,2.8rem);line-height:1}
.pop.centered{text-align:center;margin-bottom:2.86rem}

.confetti{position:absolute;inset:0;pointer-events:none;z-index:0}
.sh{position:absolute;display:block}
.circle{top:80px;right:6%;width:70px;height:70px;border-radius:50%;
  background:#2f924f;border:4px solid rgba(240,244,240,0.9)}
.tri{top:220px;left:3%;width:0;height:0;border-left:34px solid transparent;
  border-right:34px solid transparent;border-bottom:56px solid #b7f8cc;
  transform:rotate(18deg)}
.zig{top:520px;right:10%;width:120px;height:24px;
  background:repeating-linear-gradient(135deg,#4dff88 0 10px,transparent 10px 20px)}
.ring{top:760px;left:5%;width:80px;height:80px;border-radius:50%;
  border:12px solid #8bffb2}
.bar{top:1100px;right:4%;width:100px;height:18px;background:#b7f8cc;
  transform:rotate(-12deg)}
.dot{top:1000px;left:8%;width:26px;height:26px;border-radius:50%;background:#4dff88;
  box-shadow:40px 20px 0 #2f924f,80px -10px 0 #8bffb2}
.half{top:360px;right:16%;width:64px;height:32px;
  border-radius:64px 64px 0 0;background:#4dff88}

.mast{position:relative;z-index:2;padding:4.40rem 0 2.86rem;max-width:44rem}
.kick{display:inline-block;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;
  background:#4dff88;color:#141414;padding:.4rem 1rem;transform:rotate(-3deg);
  margin-bottom:1.54rem}
.mast h1{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(2.8rem,11vw,6rem);line-height:.9;letter-spacing:-.02em;
  color:#f0f4f0;text-shadow:5px 5px 0 #2f924f}
.sub{font-size:1.2rem;color:rgba(240,244,240,0.62);margin:1.54rem 0;max-width:32rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:700;text-transform:uppercase;
  font-size:.82rem;color:#f0f4f0;padding:.5rem 1.1rem;
  border:3px solid rgba(240,244,240,0.9);background:#131713}
.chip0{transform:rotate(-3deg);border-radius:999px}
.chip1{transform:rotate(2deg);border-radius:2px}
.chip2{transform:rotate(-1deg);border-radius:999px;background:#8bffb2}
.chip3{transform:rotate(3deg);border-radius:4px}
.chip:hover{background:#4dff88;color:#141414}

.squig{position:relative;z-index:2;height:26px;margin:1.54rem 0;
  background:repeating-linear-gradient(135deg,#4dff88 0 14px,#2f924f 14px 28px);
  clip-path:polygon(0 40%,5% 0,10% 40%,15% 0,20% 40%,25% 0,30% 40%,35% 0,
    40% 40%,45% 0,50% 40%,55% 0,60% 40%,65% 0,70% 40%,75% 0,80% 40%,85% 0,
    90% 40%,95% 0,100% 40%,100% 100%,0 100%)}

.about{position:relative;z-index:2;margin:2.86rem 0}
.about-card{background:#151a15;border:4px solid rgba(240,244,240,0.9);border-radius:12px;
  padding:2.86rem;max-width:46rem;transform:rotate(-1.2deg);
  box-shadow:10px 10px 0 #2f924f}
.about .pop{color:#4dff88;margin-bottom:1.54rem}
.about p{color:rgba(240,244,240,0.62);font-size:1.1rem}

.collage{position:relative;z-index:2;margin:4.40rem 0}
.jumble{display:grid;grid-template-columns:repeat(6,1fr);gap:1.54rem}
.mc{border:4px solid rgba(240,244,240,0.9);padding:1.54rem;background:#151a15;position:relative}
.mc0{grid-column:span 3;background:#131713;transform:rotate(-1.5deg);border-radius:12px}
.mc1{grid-column:span 3;background:#8bffb2;transform:rotate(1deg);border-radius:2px}
.mc2{grid-column:span 2;background:#151a15;transform:rotate(1.5deg);border-radius:999px 999px 12px 12px}
.mc3{grid-column:span 4;background:#131713;transform:rotate(-.8deg);border-radius:12px}
.mc:nth-child(5){grid-column:span 4}
.mc:nth-child(6){grid-column:span 2}
.mc:hover{transform:rotate(0) scale(1.02);z-index:3}
.mc-no{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;color:#4dff88;font-size:1.6rem;
  display:block}
.mc h3{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  font-size:1.1rem;margin:.2rem 0}
.mc p{color:rgba(240,244,240,0.62);font-size:.9rem}

.shots{position:relative;z-index:2;margin:4.40rem 0}
.pics{display:grid;grid-template-columns:repeat(4,1fr);gap:1.54rem}
.pic{margin:0;border:4px solid rgba(240,244,240,0.9);overflow:hidden;background:#151a15}
.pic img{width:100%;aspect-ratio:1;object-fit:cover}
.pic.blob{border-radius:50% 50% 50% 12px;transform:rotate(-2deg)}
.pic.arch{border-radius:120px 120px 8px 8px;transform:rotate(2deg)}
.pic.circle{border-radius:50%;transform:rotate(-1deg)}
.pic.notch{border-radius:8px;clip-path:polygon(0 0,100% 0,100% 80%,80% 100%,0 100%);
  transform:rotate(1.5deg)}

.blobq{position:relative;z-index:2;margin:4.40rem auto;max-width:40rem;
  text-align:center}
.bubble{position:relative;background:#4dff88;color:#141414;border:4px solid rgba(240,244,240,0.9);
  border-radius:40px;padding:2.86rem}
.bubble p{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:700;font-size:clamp(1.3rem,3.6vw,1.9rem)}
.tail{position:absolute;left:60px;bottom:-24px;width:0;height:0;
  border-left:0 solid transparent;border-right:38px solid transparent;
  border-top:28px solid #4dff88}
.who{margin-top:1.54rem;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.14em;color:#4dff88}

.contact{position:relative;z-index:2;margin:4.40rem 0;display:flex;
  justify-content:center}
.c-card{background:#151a15;border:4px solid rgba(240,244,240,0.9);border-radius:12px;
  padding:2.86rem;max-width:34rem;width:100%;transform:rotate(1deg);
  box-shadow:12px 12px 0 #b7f8cc}
.contact .pop{color:#4dff88;margin-bottom:.5rem}
.contact p{color:rgba(240,244,240,0.62);margin-bottom:1.54rem}
.rows>div{display:flex;justify-content:space-between;gap:1rem;
  padding:.6rem 0;border-bottom:3px solid rgba(240,244,240,0.9)}
.rows b{font-family:Optima, Candara, 'Segoe UI', sans-serif;text-transform:uppercase;font-size:.8rem;
  letter-spacing:.1em}
.rows span{color:rgba(240,244,240,0.62)}
.big-btn{display:block;text-align:center;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;background:#4dff88;color:#141414;
  border:3px solid rgba(240,244,240,0.9);padding:.9rem;margin-top:1.54rem;border-radius:12px}
.big-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 rgba(240,244,240,0.9)}

.foot{position:relative;z-index:2;text-align:center;margin-top:4.40rem;
  font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:700;color:rgba(240,244,240,0.62);text-transform:uppercase;
  letter-spacing:.1em}

@media(max-width:820px){
  .jumble{grid-template-columns:repeat(2,1fr)}
  .mc0,.mc1,.mc2,.mc3,.mc:nth-child(5),.mc:nth-child(6){grid-column:span 2}
  .pics{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}


.xq{box-sizing:border-box;font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif;color:#f0f4f0;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:#4dff88;margin-bottom:10px;font-weight:700}

.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:12px;display:block}


.xq-quoterail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.xq-quote{border:1px solid rgba(240,244,240,0.14);border-radius:12px;padding:22px;background:#151a15;position:relative}
.xq-quote::before{content:"\201C";position:absolute;top:-4px;left:14px;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:3rem;color:#4dff88;opacity:.5}
.xq-quote p{font-style:italic;margin:10px 0 12px;line-height:1.55}
.xq-quote cite{font-style:normal;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#77807a}


.xq-hours{border-top:1px solid rgba(240,244,240,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#77807a;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(240,244,240,0.14)}
.xq-hourtable th{font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#4dff88;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: swiss-red
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
*{border-radius:0 !important;text-shadow:none !important}
img,a[class*="btn"],button,span[class*="btn"],div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{box-shadow:none !important}
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='120' height='120'%3E%3Cpath d='M0 .5H120M.5 0V120' stroke='%23f3f6f3' stroke-width='1'/%3E%3C/svg%3E");opacity:.05;}
h1,h2,h3{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif !important;letter-spacing:-0.03em !important;font-weight:800 !important}
h2::before{content:'';display:block;width:2.6rem;height:.55rem;background:#4dff88;margin-bottom:.5rem}
img{filter:none !important}
a[class*="btn"],button,span[class*="btn"]{border:2px solid #4dff88 !important;background:#4dff88 !important;color:#141414 !important;font-weight:700}
