.location-page{background:#f4eee4;color:#211c18}
.location-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;background:#171411}
.location-hero-photo{position:absolute;inset:0;background-position:center;background-size:cover}
.location-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,15,12,.94),rgba(18,15,12,.12) 78%),linear-gradient(90deg,rgba(18,15,12,.55),transparent 65%)}
.location-hero-copy{position:relative;z-index:1;max-width:930px;padding:170px 8vw 90px;color:#fff}
.location-hero h1{margin:14px 0 22px;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:clamp(58px,8vw,110px);font-weight:400;line-height:.92}
.location-hero-copy>p:not(.eyebrow){max-width:650px;color:#e6ded4;font-family:Georgia,serif;font-size:19px;line-height:1.65}
.location-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.location-actions .text-link{color:#fff}
.location-details{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;padding:105px 8vw}
.location-details h2,.location-trust h2{margin:14px 0 25px;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:clamp(43px,5vw,72px);line-height:1}
.location-details .lead{color:#5f564c;font-family:Georgia,serif;font-size:19px;line-height:1.7}
.detail-card{padding:38px;background:#e9dfd1;border:1px solid rgba(91,69,51,.16)}
.detail-card h3{margin:0 0 20px;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:30px}
.hours-list{display:grid;grid-template-columns:1fr auto;gap:11px 24px;margin:0 0 28px;color:#554d44;font-family:Georgia,serif}
.hours-list dt,.hours-list dd{margin:0}
.hours-list dd{text-align:right}
.parking-note{margin:0 0 24px;padding:15px 0;border-top:1px solid rgba(91,69,51,.18);border-bottom:1px solid rgba(91,69,51,.18);color:#554d44;font-family:Georgia,serif;line-height:1.5}.parking-note strong{color:#2a241f}
.detail-card>a{display:block;margin-top:13px;color:#6f5134;font-family:Georgia,serif}
.location-gallery{padding:100px 8vw 110px;background:#1f1b17;color:#fff}
.location-gallery-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:5vw;align-items:end;margin-bottom:45px}
.location-gallery-head h2{max-width:850px;margin:0;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:clamp(40px,5vw,70px);font-weight:400;line-height:1}
.location-gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:310px 310px;gap:18px}
.location-gallery-grid figure{position:relative;margin:0;overflow:hidden;background:#332c26}
.location-gallery-grid .location-gallery-tall{grid-row:1/3}
.location-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .6s ease}
.location-gallery-grid figure:hover img{transform:scale(1.025)}
.location-gallery-grid figure:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(16,13,11,.72));pointer-events:none}
.location-gallery-grid figcaption{position:absolute;z-index:1;left:24px;bottom:20px;color:#f0e7dc;font-family:Georgia,serif;font-size:15px;font-style:italic;letter-spacing:.04em}
.shop-team{padding:105px 8vw 115px;background:#f4eee4}
.shop-team-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:5vw;align-items:end;margin-bottom:42px}
.shop-team-head h2{max-width:850px;margin:0;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:clamp(40px,5vw,70px);font-weight:400;line-height:1}
.shop-team-head p:last-child{max-width:660px;margin:18px 0 0;color:#62584e;font-family:Georgia,serif;font-size:17px;line-height:1.65}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.barber-card{position:relative;overflow:hidden;background:#211d19;color:#fff}
.barber-card img{display:block;width:100%;aspect-ratio:1.1/1;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .5s ease}
.barber-card:hover img{transform:scale(1.025)}
.barber-card-body{display:block;padding:22px}
.barber-card h3{margin:0 0 5px;font-family:Rockwell,"Roboto Slab","Courier New",serif;font-size:clamp(22px,2.1vw,30px);font-weight:400;line-height:1.05}
.barber-card p{margin:0;color:#bfb5aa;font-family:Georgia,serif;font-size:14px}
.barber-card a{display:inline-block;max-width:100%;margin-top:14px;color:#d7b77f;font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1.35;text-transform:uppercase;overflow-wrap:anywhere}
.barber-socials{display:flex;flex-wrap:wrap;gap:8px 14px}
.barber-socials a{margin-top:10px;color:#f3eadf;font-size:11px;letter-spacing:.06em}
.barber-card a{min-height:44px;display:inline-flex;align-items:center}.barber-socials a{font-size:12px}.detail-card>a,.location-back{min-height:44px;display:flex;align-items:center}
.location-trust{padding:105px 8vw;background:#29241f;color:#fff}
.location-trust>p:not(.eyebrow){max-width:720px;color:#c9c0b6;font-family:Georgia,serif;font-size:18px;line-height:1.7}
.location-trust blockquote{max-width:850px;margin:42px 0 24px;padding-left:28px;border-left:2px solid #d7b77f;color:#eee7df;font-family:Georgia,serif;font-size:clamp(22px,3vw,36px);line-height:1.45}
.location-back{display:inline-block;margin-top:30px;color:#d7b77f;font-family:Georgia,serif}
.location-page footer{margin-top:0}
@media(max-width:800px){.location-hero{min-height:680px}
.location-hero-copy{padding:145px 22px 72px}
.location-hero h1{font-size:clamp(48px,15vw,68px)}
.location-actions{align-items:flex-start;flex-direction:column}
.location-details{grid-template-columns:1fr;padding:82px 22px}
.detail-card{padding:28px 24px}
.location-gallery{padding:78px 22px 82px}
.location-gallery-head{display:block;margin-bottom:32px}
.location-gallery-head .eyebrow{margin-bottom:14px}
.location-gallery-grid{grid-template-columns:1fr;grid-template-rows:420px 245px 285px;gap:12px}
.location-gallery-grid .location-gallery-tall{grid-row:auto}
.shop-team{padding:78px 22px 86px}
.shop-team-head{display:block;margin-bottom:30px}
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.barber-card-body{display:block;padding:16px}
.barber-card h3{font-size:21px}
.barber-card a{margin-top:12px}
.location-trust{padding:82px 22px}
.hours-list{gap:10px 14px}
}
@media(max-width:480px){.team-grid{grid-template-columns:1fr}.barber-card img{aspect-ratio:1.2/1}}


/* Roster social icons — shared by Goose Creek and Summerville */
.barber-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.barber-socials a {
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin-top: 0;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(243, 234, 223, .45);
  border-radius: 50%;
  background: rgba(255, 255, 255, .04);
  color: #f3eadf;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}

.barber-socials a::before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.barber-socials a[href*="instagram.com"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.5-3.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.5-3.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Z'/%3E%3C/svg%3E");
}

.barber-socials a[href*="tiktok.com"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 3c.4 2.3 1.8 3.8 4 4v3c-1.5 0-2.8-.4-4-1.2V16a6 6 0 1 1-6-6c.3 0 .7 0 1 .1v3.1a3 3 0 1 0 2 2.8V3h3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 3c.4 2.3 1.8 3.8 4 4v3c-1.5 0-2.8-.4-4-1.2V16a6 6 0 1 1-6-6c.3 0 .7 0 1 .1v3.1a3 3 0 1 0 2 2.8V3h3Z'/%3E%3C/svg%3E");
}

.barber-socials a:hover {
  transform: translateY(-2px);
  color: #211d19;
  background: #d7b77f;
  border-color: #d7b77f;
}

.barber-socials a:focus-visible {
  outline: 3px solid #d7b77f;
  outline-offset: 3px;
}


/* Clean brand-only social marks: no surrounding circles */
.barber-socials a {
  width: 44px;
  height: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f3eadf;
}

.barber-socials a::before {
  width: 26px;
  height: 26px;
}

.barber-socials a:hover {
  transform: translateY(-2px) scale(1.08);
  color: #d7b77f;
  background: transparent;
  border-color: transparent;
}


/* Classic 2011–2016 Instagram camera mark */
.barber-socials a[href*="instagram.com"]::before {
      width: 28px;
        height: 28px;
          -webkit-mask: none;
            mask: none;
              background-color: transparent;
                background-image: url("https://upload.wikimedia.org/wikipedia/commons/7/7b/Instagram_icon_%28old%29.png");
                  background-repeat: no-repeat;
                    background-position: center;
                      background-size: contain;
}



/* High-contrast classic Instagram camera for dark cards */
.barber-socials a[href*="instagram.com"]::before {
      background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%2230%22%20height%3D%2230%22%20rx%3D%226%22%20fill%3D%22%236b4932%22%20stroke%3D%22%23e8dcc8%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M2%2014h28v11a6%206%200%200%201-6%206H8a6%206%200%200%201-6-6V14Z%22%20fill%3D%22%23e4d2b2%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%222.4%22%20height%3D%2212%22%20fill%3D%22%23f4d44b%22%2F%3E%3Crect%20x%3D%227.4%22%20y%3D%222%22%20width%3D%222.4%22%20height%3D%2212%22%20fill%3D%22%23e96b40%22%2F%3E%3Crect%20x%3D%229.8%22%20y%3D%222%22%20width%3D%222.4%22%20height%3D%2212%22%20fill%3D%22%23bd497e%22%2F%3E%3Crect%20x%3D%2212.2%22%20y%3D%222%22%20width%3D%222.4%22%20height%3D%2212%22%20fill%3D%22%234b84ad%22%2F%3E%3Ccircle%20cx%3D%2223%22%20cy%3D%228%22%20r%3D%223.2%22%20fill%3D%22%231b2021%22%20stroke%3D%22%23d8e4df%22%20stroke-width%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2220%22%20r%3D%227.5%22%20fill%3D%22%232a211c%22%20stroke%3D%22%2374543c%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2220%22%20r%3D%224.7%22%20fill%3D%22%233d6d78%22%2F%3E%3Ccircle%20cx%3D%2214.3%22%20cy%3D%2218.2%22%20r%3D%221.4%22%20fill%3D%22%23c9e0dc%22%20opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E");
}

}