
/* NEON AFTERDARK V8 — LOCATION EXPLORER V1 */
.v8-locations{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 padding:115px 0 125px;
 background:
  linear-gradient(155deg,#050b18 0%,#0a1029 50%,#080b1b 100%);
 color:#f5f7ff;
}
.v8-loc-haze{
 position:absolute;
 width:650px;
 height:650px;
 border-radius:50%;
 filter:blur(105px);
 pointer-events:none;
 opacity:.26;
 z-index:-1;
}
.v8-loc-haze-a{
 top:-200px;
 left:-260px;
 background:#086d9b;
}
.v8-loc-haze-b{
 bottom:-230px;
 right:-260px;
 background:#8d36b5;
}
.v8-loc-topline{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 border-bottom:1px solid rgba(128,202,255,.2);
 padding-bottom:20px;
 font-size:10px;
 font-weight:800;
 letter-spacing:.16em;
 color:#73f5ff;
}
.v8-loc-topline span:last-child{color:#9aabc9}
.v8-loc-heading{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:40px;
 margin:60px 0 47px;
}
.v8-loc-eyebrow{
 display:block;
 font-size:10px;
 font-weight:800;
 letter-spacing:.19em;
 color:#9a91ff;
 margin-bottom:20px;
}
.v8-loc-heading h2{
 font:400 clamp(54px,6.8vw,102px)/1.08 'Playfair Display',serif;
 letter-spacing:-.055em;
 margin:0;
}
.v8-loc-heading h2 em{
 font-weight:400;
 color:#76faff;
 text-shadow:0 0 50px rgba(90,230,255,.22);
}
.v8-loc-heading>p{
 max-width:330px;
 color:#b5c5de;
 font-size:14px;
 line-height:1.9;
 margin:0 0 12px;
}
.v8-loc-layout{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 grid-auto-flow:row;
 gap:18px;
}
.v8-loc-tile{
 --loc-accent:#77f8ff;
 position:relative;
 isolation:isolate;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 overflow:hidden;
 min-width:0;
 min-height:230px;
 padding:22px;
 border:1px solid rgba(125,214,255,.23);
 border-radius:22px;
 background:
  linear-gradient(140deg,rgba(37,58,97,.67),rgba(12,17,42,.91));
 box-shadow:
  inset 0 1px rgba(255,255,255,.11),
  0 18px 45px rgba(0,0,0,.24);
 backdrop-filter:blur(20px);
 -webkit-backdrop-filter:blur(20px);
 color:#f5faff!important;
 text-decoration:none!important;
 transition:border-color .35s,box-shadow .35s,transform .35s;
}
.v8-loc-tile:nth-child(3n+2){--loc-accent:#b89aff}
.v8-loc-tile:nth-child(3n){--loc-accent:#ff83d2}
a.v8-loc-tile:hover{
 border-color:var(--loc-accent);
 box-shadow:0 0 40px rgba(105,210,255,.14),0 25px 55px rgba(0,0,0,.36);
 transform:translateY(-5px);
}
.v8-loc-feature{
 grid-column:span 2;
 grid-row:span 2;
 min-height:478px;
 padding:35px;
 --loc-accent:#79faff;
 background:
  radial-gradient(ellipse at 76% 55%,rgba(42,145,198,.28),transparent 62%),
  linear-gradient(145deg,rgba(26,56,95,.88),rgba(13,15,48,.95));
}
.v8-loc-tile-light{
 position:absolute;
 width:270px;
 height:270px;
 right:-95px;
 bottom:-120px;
 border-radius:50%;
 background:radial-gradient(circle,var(--loc-accent),transparent 67%);
 filter:blur(35px);
 opacity:.11;
 z-index:-1;
 transition:opacity .4s,transform .4s;
 pointer-events:none;
}
.v8-loc-tile:hover .v8-loc-tile-light{
 opacity:.24;
 transform:scale(1.25);
}
.v8-loc-feature .v8-loc-tile-light{
 width:560px;
 height:560px;
 right:-180px;
 bottom:-280px;
 opacity:.16;
}
.v8-loc-tile-grid{
 position:absolute;
 inset:0;
 z-index:-1;
 opacity:.2;
 pointer-events:none;
 background-image:
  linear-gradient(rgba(122,199,255,.17) 1px,transparent 1px),
  linear-gradient(90deg,rgba(122,199,255,.17) 1px,transparent 1px);
 background-size:40px 40px;
 mask-image:linear-gradient(125deg,transparent 25%,#000 100%);
 -webkit-mask-image:linear-gradient(125deg,transparent 25%,#000 100%);
}
.v8-loc-tile-top,.v8-loc-tile-bottom{
 position:relative;
 z-index:1;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 font-size:9px;
 font-weight:800;
 letter-spacing:.11em;
 color:#a9bfdc;
}
.v8-loc-tile-arrow{
 width:34px;
 height:34px;
 display:grid;
 place-items:center;
 border:1px solid rgba(153,219,255,.32);
 border-radius:50%;
 font-size:19px;
 color:var(--loc-accent);
 transition:transform .3s,background .3s;
}
a.v8-loc-tile:hover .v8-loc-tile-arrow{
 transform:rotate(45deg);
 background:rgba(255,255,255,.09);
}
.v8-loc-tile-center{
 position:relative;
 z-index:1;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 margin:25px 0;
}
.v8-loc-pin{
 position:relative;
 display:grid;
 place-items:center;
 width:34px;
 height:34px;
 border:1px solid var(--loc-accent);
 border-radius:50%;
 margin-bottom:13px;
 box-shadow:0 0 20px rgba(105,250,255,.12);
}
.v8-loc-pin span{
 width:7px;
 height:7px;
 border-radius:50%;
 background:var(--loc-accent);
 box-shadow:0 0 12px var(--loc-accent);
}
.v8-loc-tile-label{
 font-size:8px;
 font-weight:800;
 letter-spacing:.17em;
 color:var(--loc-accent);
 margin-bottom:9px;
}
.v8-loc-tile-center strong{
 font:400 clamp(24px,2.2vw,36px)/1.15 'Playfair Display',serif;
 letter-spacing:-.035em;
 overflow-wrap:anywhere;
}
.v8-loc-feature .v8-loc-tile-center strong{
 font-size:clamp(48px,5.4vw,84px);
}
.v8-loc-feature-description{
 max-width:280px;
 margin-top:18px;
 color:#bcd3e9;
 font-size:13px;
 line-height:1.8;
}
.v8-loc-tile-bottom{
 padding-top:16px;
 border-top:1px solid rgba(177,220,255,.18);
 font-size:8px;
}
.v8-loc-tile-bottom b{
 color:var(--loc-accent);
 font-size:17px;
 margin-left:5px;
}
.v8-loc-finale{
 display:flex;
 align-items:center;
 gap:15px;
 margin-top:30px;
 padding:22px 0;
 border-top:1px solid rgba(143,207,255,.2);
 color:#a7bad6;
 font-size:10px;
 font-weight:800;
 letter-spacing:.12em;
}
.v8-loc-finale-dot{
 width:7px;
 height:7px;
 flex-shrink:0;
 border-radius:50%;
 background:#72faff;
 box-shadow:0 0 16px #72faff;
}
.v8-loc-finale a{
 margin-left:auto;
 color:#78f7ff;
 text-decoration:none;
 white-space:nowrap;
}
.v8-loc-finale a:hover{text-decoration:underline}
.v8-loc-finale a span{margin-left:8px}
@media(max-width:1050px){
 .v8-loc-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v8-loc-feature{grid-column:span 2;grid-row:auto;min-height:360px}
 .v8-loc-heading h2{font-size:clamp(54px,7vw,80px)}
}
@media(max-width:650px){
 .v8-locations{padding:70px 0 75px}
 .v8-loc-topline{font-size:8px}
 .v8-loc-topline span:last-child{display:none}
 .v8-loc-heading{
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  margin:40px 0 32px;
 }
 .v8-loc-heading h2{font-size:clamp(46px,10vw,70px)}
 .v8-loc-heading>p{font-size:12px}
 .v8-loc-layout{gap:12px}
 .v8-loc-tile{min-height:205px;padding:17px;border-radius:18px}
 .v8-loc-feature{grid-column:span 2;min-height:325px;padding:24px}
 .v8-loc-feature .v8-loc-tile-center strong{font-size:55px}
 .v8-loc-tile-center strong{font-size:24px}
 .v8-loc-tile-bottom span:last-child{display:none}
 .v8-loc-tile-top{font-size:8px}
 .v8-loc-finale{flex-wrap:wrap;font-size:8px}
 .v8-loc-finale a{width:100%;margin-left:22px}
}
@media(max-width:380px){
 .v8-loc-layout{grid-template-columns:1fr}
 .v8-loc-feature{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
 .v8-loc-tile{transition:none}
 .v8-loc-tile-light,.v8-loc-tile-arrow{transition:none}
}


/* NEON LOCATION ATLAS — ALL LOCATIONS BUTTON */
.v8-loc-all-wrap{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 gap:17px;
 padding:53px 20px 40px;
}
.v8-loc-all-eyebrow{
 color:#8fa9d4;
 font-size:10px;
 font-weight:800;
 letter-spacing:.19em;
}
.v8-loc-all-button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:33px;
 min-height:68px;
 padding:14px 24px 14px 33px;
 border:1px solid rgba(117,245,255,.68);
 border-radius:17px;
 background:linear-gradient(120deg,rgba(35,190,225,.2),rgba(122,73,229,.25));
 box-shadow:0 0 38px rgba(65,224,255,.13),inset 0 1px rgba(255,255,255,.16);
 color:#e5fdff!important;
 font-size:11px;
 font-weight:800;
 letter-spacing:.14em;
 text-decoration:none!important;
 transition:transform .3s,box-shadow .3s;
}
.v8-loc-all-button span{
 display:grid;
 place-items:center;
 width:37px;
 height:37px;
 border-radius:50%;
 background:rgba(110,250,255,.15);
 color:#76faff;
 font-size:21px;
}
.v8-loc-all-button:hover{
 transform:translateY(-4px);
 box-shadow:0 0 55px rgba(65,224,255,.28);
}
.v8-loc-all-wrap p{
 margin:0;
 color:#9eb4d2;
 font-size:12px;
}
.v8-locations-directory .v8-loc-tile{
 min-height:260px;
}
.v8-locations-directory .v8-loc-tile:first-child{
 grid-column:auto;
 grid-row:auto;
 min-height:260px;
 padding:22px;
}
.v8-locations-directory .v8-loc-tile:first-child .v8-loc-tile-center strong{
 font-size:clamp(24px,2.2vw,36px);
}
.v8-locations-directory .v8-loc-heading h1{
 font:400 clamp(54px,6.8vw,100px)/1.08 'Playfair Display',serif;
 letter-spacing:-.055em;
 margin:0;
}
.v8-locations-directory .v8-loc-heading h1 em{
 color:#76faff;
 font-weight:400;
}
@media(max-width:650px){
 .v8-loc-all-wrap{padding:35px 0 30px}
 .v8-loc-all-button{
  width:100%;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
 }
 .v8-locations-directory .v8-loc-tile,
 .v8-locations-directory .v8-loc-tile:first-child{
  min-height:205px;
 }
 .v8-locations-directory .v8-loc-heading h1{
  font-size:clamp(46px,10vw,70px);
 }
}


/* LOCATION DIRECTORY BUTTON — VISIBILITY FIX V1.2 */
.v8-locations .v8-loc-all-wrap{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:17px;
 padding:55px 20px 40px;
 text-align:center;
}
.v8-locations .v8-loc-all-eyebrow{
 display:block;
 font-family:'DM Sans',sans-serif;
 font-size:10px;
 font-weight:800;
 letter-spacing:.19em;
 color:#9eb8e5;
}
.v8-locations a.v8-loc-all-button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:35px;
 min-height:70px;
 padding:14px 24px 14px 34px;
 border:1px solid rgba(110,246,255,.75);
 border-radius:18px;
 background:linear-gradient(
  115deg,
  rgba(20,151,205,.27),
  rgba(101,57,190,.32)
 );
 box-shadow:
  0 0 45px rgba(50,213,255,.17),
  inset 0 1px 0 rgba(255,255,255,.2);
 color:#eaffff!important;
 font-family:'DM Sans',sans-serif;
 font-size:11px;
 font-weight:800;
 letter-spacing:.13em;
 line-height:1.5;
 text-decoration:none!important;
 transition:transform .3s,box-shadow .3s,border-color .3s;
}
.v8-locations a.v8-loc-all-button span{
 display:grid;
 place-items:center;
 width:39px;
 height:39px;
 flex-shrink:0;
 border-radius:50%;
 background:rgba(105,245,255,.17);
 color:#7cffff;
 font-size:22px;
}
.v8-locations a.v8-loc-all-button:hover{
 transform:translateY(-4px);
 border-color:#a5ffff;
 box-shadow:0 0 65px rgba(64,229,255,.29);
}
.v8-locations .v8-loc-all-wrap p{
 margin:0;
 color:#9eb4d2;
 font-size:12px;
 line-height:1.7;
}
@media(max-width:650px){
 .v8-locations .v8-loc-all-wrap{
  padding:40px 0 30px;
 }
 .v8-locations a.v8-loc-all-button{
  width:100%;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px 12px 20px;
  font-size:10px;
 }
}
