/*
Theme Name:        HSHG
Theme URI:         https://highsthospitality.com
Author:            High Street Hospitality Group
Author URI:        https://highsthospitality.com
Description:       Custom WordPress theme for High Street Hospitality Group. Editorial hospitality aesthetic built with Cormorant Garamond and Jost. Features concept pages, press, leadership, private events, and careers templates.
Version:           1.0.0
Requires at least: 6.0
Tested up to:      6.5
Requires PHP:      8.0
License:           Proprietary
Text Domain:       hshg
*/

/* ─── CSS CUSTOM PROPERTIES ──────────────────────── */
:root {
  --hshg-ink:       #1a1612;
  --hshg-cream:     #f5f0e8;
  --hshg-warm:      #c8a97e;
  --hshg-warm-lt:   #f0e8d8;
  --hshg-muted:     #7a6e63;
  --hshg-dark:      #2a2420;
  --hshg-border:    rgba(26, 22, 18, 0.12);
  --hshg-border-md: rgba(26, 22, 18, 0.22);
  --hshg-serif:     'Cormorant Garamond', Georgia, serif;
  --hshg-sans:      'Jost', system-ui, sans-serif;
}

/* ─── RESET ──────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background:              var(--hshg-cream);
  color:                   var(--hshg-ink);
  font-family:             var(--hshg-sans);
  font-weight:             400;
  font-size:               16px;
  line-height:             1.6;
  -webkit-font-smoothing:  antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; }

/* ─── TYPOGRAPHY ──────────────────────────────────── */
.hshg-eyebrow {
  font-size:       10px;
  letter-spacing:  0.22em;
  text-transform:  uppercase;
  color:           var(--hshg-muted);
  font-weight:     400;
  font-family:     var(--hshg-sans);
}

.hshg-section-hed {
  font-family: var(--hshg-serif);
  font-size:   clamp(28px, 3.5vw, 44px);
  font-weight: 300;
  line-height: 1.08;
  color:       var(--hshg-ink);
}
.hshg-section-hed em { font-style: italic; color: var(--hshg-warm); }

.hshg-body {
  font-size:   14px;
  line-height: 1.85;
  color:       var(--hshg-muted);
  font-weight: 300;
}
.hshg-body p              { margin-bottom: 1.25rem; }
.hshg-body p:last-child   { margin-bottom: 0; }
.hshg-body strong         { font-weight: 500; color: var(--hshg-ink); }
.hshg-body em             { font-style: italic; }
.hshg-body a              { color: var(--hshg-ink); text-decoration: underline; text-underline-offset: 3px; }

/* ─── BUTTONS ────────────────────────────────────── */
.hshg-btn {
  display:         inline-block;
  font-family:     var(--hshg-sans);
  font-size:       11px;
  letter-spacing:  0.14em;
  text-transform:  uppercase;
  padding:         13px 30px;
  border:          none;
  cursor:          pointer;
  text-decoration: none;
  line-height:     1;
  transition:      opacity .2s, background .2s, color .2s;
}
.hshg-btn-dark    { background: var(--hshg-ink);   color: var(--hshg-cream); }
.hshg-btn-dark:hover { opacity: .8; color: var(--hshg-cream); }
.hshg-btn-outline { background: transparent; color: var(--hshg-ink); border: .5px solid var(--hshg-ink); }
.hshg-btn-outline:hover { background: var(--hshg-ink); color: var(--hshg-cream); }
.hshg-btn-warm    { background: var(--hshg-warm);  color: var(--hshg-ink); }
.hshg-btn-warm:hover { opacity: .85; }
.hshg-btn-ghost-lt { background: transparent; color: rgba(245,240,232,.7); border: .5px solid rgba(245,240,232,.3); }
.hshg-btn-ghost-lt:hover { color: var(--hshg-cream); border-color: var(--hshg-cream); }

.hshg-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }

.hshg-text-link {
  font-size:       11px;
  letter-spacing:  0.14em;
  text-transform:  uppercase;
  color:           var(--hshg-ink);
  text-decoration: none;
  border-bottom:   .5px solid var(--hshg-ink);
  padding-bottom:  2px;
  display:         inline-block;
  margin-top:      1.5rem;
  transition:      opacity .2s;
}
.hshg-text-link:hover { opacity: .55; }

/* ─── SITE NAVIGATION ────────────────────────────── */
#site-header {
  display:          flex;
  align-items:      center;
  justify-content:  space-between;
  padding:          1.35rem 3rem;
  border-bottom:    .5px solid var(--hshg-border);
  background:       var(--hshg-cream);
  position:         sticky;
  top:              0;
  z-index:          200;
}

.site-logo {
  font-family:     var(--hshg-serif);
  font-size:       13px;
  font-weight:     400;
  letter-spacing:  0.22em;
  text-transform:  uppercase;
  color:           var(--hshg-ink);
  text-decoration: none;
  flex-shrink:     0;
}

#primary-menu {
  display:     flex;
  gap:         2rem;
  list-style:  none;
}
#primary-menu a {
  font-size:       10px;
  letter-spacing:  0.14em;
  text-transform:  uppercase;
  color:           var(--hshg-muted);
  text-decoration: none;
  transition:      color .2s;
}
#primary-menu a:hover,
#primary-menu .current-menu-item > a { color: var(--hshg-ink); }

.nav-reserve {
  font-family:     var(--hshg-sans);
  font-size:       10px;
  letter-spacing:  0.14em;
  text-transform:  uppercase;
  padding:         10px 22px;
  background:      var(--hshg-ink);
  color:           var(--hshg-cream);
  text-decoration: none;
  border:          none;
  cursor:          pointer;
  transition:      opacity .2s;
  flex-shrink:     0;
}
.nav-reserve:hover { opacity: .8; color: var(--hshg-cream); }

/* mobile hamburger */
.nav-toggle {
  display:    none;
  background: none;
  border:     none;
  cursor:     pointer;
  padding:    4px;
}
.nav-toggle span {
  display:    block;
  width:      22px;
  height:     1px;
  background: var(--hshg-ink);
  margin:     5px 0;
  transition: .3s;
}

/* mobile nav open state */
body.nav-open #primary-menu {
  display:    flex;
  flex-direction: column;
  position:   absolute;
  top:        100%;
  left:       0;
  right:      0;
  background: var(--hshg-cream);
  padding:    1.5rem 2rem;
  border-bottom: .5px solid var(--hshg-border);
  gap:        1.25rem;
}

/* ─── SITE FOOTER ─────────────────────────────────── */
#site-footer {
  padding:       2.5rem 3rem;
  border-top:    .5px solid var(--hshg-border);
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  flex-wrap:     wrap;
  gap:           1.5rem;
}

.footer-logo {
  font-family:     var(--hshg-serif);
  font-size:       13px;
  letter-spacing:  0.22em;
  text-transform:  uppercase;
  color:           var(--hshg-ink);
  text-decoration: none;
}

#footer-menu {
  display:    flex;
  gap:        2rem;
  list-style: none;
  flex-wrap:  wrap;
}
#footer-menu a {
  font-size:       11px;
  letter-spacing:  0.12em;
  text-transform:  uppercase;
  color:           var(--hshg-muted);
  text-decoration: none;
  transition:      color .2s;
}
#footer-menu a:hover { color: var(--hshg-ink); }

.footer-tagline {
  font-size:      11px;
  color:          var(--hshg-muted);
  letter-spacing: 0.08em;
}

/* ─── LAYOUT HELPERS ──────────────────────────────── */
.hshg-section       { padding: 4.5rem 3rem; border-bottom: .5px solid var(--hshg-border); }
.hshg-section-header {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  margin-bottom:   2.5rem;
  padding-bottom:  1.25rem;
  border-bottom:   .5px solid var(--hshg-border);
}

/* 2-col content grid */
.hshg-content-grid  { display: grid; grid-template-columns: 1fr 1fr; border-bottom: .5px solid var(--hshg-border); }
.hshg-content-grid.hshg-cols-1 { grid-template-columns: 1fr; }
.hshg-content-grid.hshg-cols-2 { grid-template-columns: 1fr 1fr; }
.hshg-content-grid.hshg-cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.hshg-content-grid.hshg-cols-3 .hshg-content-block:last-child { border-right: none; }
.hshg-content-block { padding: 4.5rem 3rem; }
.hshg-content-block.border-r { border-right: .5px solid var(--hshg-border); }
.hshg-content-block.dark     { background: var(--hshg-ink); }
.hshg-content-block.warm-lt  { background: var(--hshg-warm-lt); }
.hshg-content-block.dark .hshg-section-hed { color: var(--hshg-cream); }
.hshg-content-block.dark .hshg-body        { color: rgba(245,240,232,.65); }
.hshg-content-block.dark .hshg-eyebrow     { color: rgba(245,240,232,.4); }
.hshg-content-block.dark .hshg-text-link   { color: var(--hshg-warm); border-color: var(--hshg-warm); }

/* CTA 2-col */
.hshg-cta-row { display: grid; grid-template-columns: 1fr 1fr; border-bottom: .5px solid var(--hshg-border); }
.hshg-cta-block { padding: 4rem 3rem; }
.hshg-cta-block:first-child { border-right: .5px solid var(--hshg-border); }

/* ─── HERO SPLIT ──────────────────────────────────── */
.hshg-hero {
  display:          grid;
  grid-template-columns: 1fr 1fr;
  min-height:       540px;
  border-bottom:    .5px solid var(--hshg-border);
}
.hshg-hero-panel {
  padding:          4.5rem 3rem;
  display:          flex;
  flex-direction:   column;
  justify-content:  space-between;
  position:         relative;
  overflow:         hidden;
}
.hshg-hero-panel.dark { background: var(--hshg-ink); }

.hshg-hero-hed {
  font-family: var(--hshg-serif);
  font-size:   clamp(52px, 6vw, 88px);
  font-weight: 300;
  line-height: 0.95;
  color:       var(--hshg-ink);
}
.hshg-hero-hed em              { font-style: italic; color: var(--hshg-warm); }
.hshg-hero-panel.dark .hshg-hero-hed { color: var(--hshg-cream); }
.hshg-hero-panel.dark .hshg-body     { color: rgba(245,240,232,.7); }
.hshg-hero-panel.dark .hshg-eyebrow  { color: rgba(200,169,126,.65); }

.hshg-hero-num {
  font-family:    var(--hshg-serif);
  font-size:      110px;
  font-weight:    300;
  line-height:    1;
  color:          rgba(26,22,18,.045);
  position:       absolute;
  top:            1.5rem;
  right:          2rem;
  pointer-events: none;
  user-select:    none;
}
.hshg-hero-panel.dark .hshg-hero-num { color: rgba(245,240,232,.04); }

.hshg-hero-type-tag {
  display:        inline-block;
  margin-top:     .85rem;
  font-size:      10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding:        4px 10px;
  border:         .5px solid var(--hshg-border-md);
  color:          var(--hshg-muted);
}
.hshg-hero-panel.dark .hshg-hero-type-tag { border-color: rgba(245,240,232,.2); color: rgba(245,240,232,.5); }

.hshg-hero-image {
  background:  var(--hshg-dark);
  border-left: .5px solid var(--hshg-border);
  position:    relative;
  overflow:    hidden;
  min-height:  400px;
}
.hshg-hero-image img { width: 100%; height: 100%; object-fit: cover; }

.hshg-hero-image-overlay {
  position:      absolute;
  bottom:        0; left: 0; right: 0;
  padding:       1.25rem 2rem;
  display:       flex;
  justify-content: space-between;
  align-items:   center;
  border-top:    .5px solid rgba(255,255,255,.08);
  background:    rgba(0,0,0,.22);
}
.hshg-img-caption  { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.hshg-accolade-pill { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; border: .5px solid rgba(200,169,126,.45); color: var(--hshg-warm); }

/* ─── DETAILS ROW ─────────────────────────────────── */
.hshg-details-row          { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: .5px solid var(--hshg-border); }
.hshg-detail-cell          { padding: 1.75rem 2.5rem; border-right: .5px solid var(--hshg-border); }
.hshg-detail-cell:last-child { border-right: none; }
.hshg-detail-label         { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--hshg-muted); margin-bottom: 6px; }
.hshg-detail-value         { font-family: var(--hshg-serif); font-size: 20px; font-weight: 400; color: var(--hshg-ink); }
.hshg-detail-sub           { font-size: 12px; color: var(--hshg-muted); margin-top: 3px; }

/* ─── CONCEPT CARDS ───────────────────────────────── */
.hshg-concept-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  border:                .5px solid var(--hshg-border);
  margin-top:            2rem;
}

.hshg-concept-card {
  border-right:    .5px solid var(--hshg-border);
  border-bottom:   .5px solid var(--hshg-border);
  cursor:          pointer;
  transition:      background .25s;
  position:        relative;
  text-decoration: none;
  display:         flex;
  flex-direction:  column;
  color:           inherit;
  overflow:        hidden;
}
.hshg-concept-card:hover                { background: rgba(26,22,18,.02); }
.hshg-concept-card:nth-child(4n)        { border-right: none; }
.hshg-concept-card:nth-last-child(-n+4) { border-bottom: none; }

/* Image area — top of card */
.concept-card-image {
  width:      100%;
  height:     200px;
  overflow:   hidden;
  background: var(--hshg-dark);
  position:   relative;
  flex-shrink: 0;
}
.concept-card-image img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
  transition: transform .55s ease;
}
.hshg-concept-card:hover .concept-card-image img { transform: scale(1.05); }

/* Placeholder when no featured image is set */
.concept-card-image-placeholder {
  width:           100%;
  height:          200px;
  background:      linear-gradient(160deg, #2e2820 0%, #1a1410 100%);
  display:         flex;
  align-items:     center;
  justify-content: center;
}
.concept-card-placeholder-name {
  font-family: var(--hshg-serif);
  font-size:   32px;
  font-weight: 300;
  font-style:  italic;
  color:       rgba(200,169,126,.2);
  letter-spacing: .04em;
}

/* Coming-soon image tinted */
.hshg-concept-card.concept-coming-soon .concept-card-image {
  filter: brightness(.8);
}
.concept-card-coming-label {
  position:       absolute;
  bottom:         .75rem;
  left:           .75rem;
  font-size:      9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding:        3px 8px;
  background:     rgba(26,22,18,.65);
  color:          var(--hshg-warm);
  border:         .5px solid rgba(200,169,126,.35);
}

/* Text body */
.concept-card-body { padding: 1.5rem 1.75rem 2rem; flex: 1; position: relative; }

.hshg-concept-num  { font-family: var(--hshg-serif); font-size: 11px; color: var(--hshg-muted); margin-bottom: .75rem; }
.hshg-concept-name { font-family: var(--hshg-serif); font-size: 22px; font-weight: 400; line-height: 1.15; color: var(--hshg-ink); margin-bottom: 4px; }
.hshg-concept-type { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--hshg-muted); margin-bottom: .85rem; }
.hshg-concept-desc { font-size: 13px; line-height: 1.75; color: var(--hshg-muted); font-weight: 300; }
.hshg-concept-tag  { display: inline-block; margin-top: 1rem; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; padding: 3px 8px; border: .5px solid var(--hshg-warm); color: var(--hshg-warm); }
.hshg-concept-arrow { position: absolute; bottom: 1.25rem; right: 1.5rem; font-size: 16px; color: var(--hshg-warm); opacity: 0; transition: opacity .2s; }
.hshg-concept-card:hover .hshg-concept-arrow { opacity: 1; }

/* Private Events / CTA card — no image, warm tinted */
.hshg-concept-card.concept-cta { background: rgba(200,169,126,.07); }
.hshg-concept-card.concept-cta:hover { background: rgba(200,169,126,.13); }

/* ─── ACCOLADES BAR ───────────────────────────────── */
.hshg-accolade-bar {
  display:    flex;
  border-bottom: .5px solid var(--hshg-border);
  overflow:   hidden;
  position:   relative;
}
.hshg-accolade-bar::before,
.hshg-accolade-bar::after {
  content:  '';
  position: absolute;
  top:      0;
  bottom:   0;
  width:    80px;
  z-index:  2;
  pointer-events: none;
}
.hshg-accolade-bar::before { left: 0;  background: linear-gradient(to right, var(--hshg-cream), transparent); }
.hshg-accolade-bar::after  { right: 0; background: linear-gradient(to left,  var(--hshg-cream), transparent); }
.hshg-accolade-track {
  display:   flex;
  animation: hshg-ticker 32s linear infinite;
  width:     max-content;
}
.hshg-accolade-bar:hover .hshg-accolade-track { animation-play-state: paused; }
@keyframes hshg-ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.hshg-accolade-item { padding: 1.5rem 2.25rem; border-right: .5px solid var(--hshg-border); white-space: nowrap; flex-shrink: 0; }
.hshg-accolade-pub  { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--hshg-muted); margin-bottom: 5px; }
.hshg-accolade-quote { font-family: var(--hshg-serif); font-size: 15px; font-style: italic; color: var(--hshg-ink); }

/* ─── STORY SPLIT ─────────────────────────────────── */
.hshg-story-split { display: grid; grid-template-columns: 1fr 1fr; border-bottom: .5px solid var(--hshg-border); }
.hshg-story-left  { background: var(--hshg-ink); padding: 5rem 3rem; display: flex; flex-direction: column; justify-content: space-between; }
.hshg-story-quote { font-family: var(--hshg-serif); font-size: clamp(26px,3vw,42px); font-weight: 300; font-style: italic; line-height: 1.3; color: var(--hshg-cream); }
.hshg-story-quote em { font-style: normal; color: var(--hshg-warm); }
.hshg-story-attribution { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: rgba(245,240,232,.4); margin-top: 2rem; }
.hshg-story-right { padding: 5rem 3rem; }

/* ─── MENU PREVIEW ────────────────────────────────── */
.hshg-menu-preview { padding: 4rem 3rem; border-bottom: .5px solid var(--hshg-border); }
.hshg-menu-grid    { display: grid; grid-template-columns: repeat(3,1fr); border: .5px solid var(--hshg-border); margin-top: 2rem; }
.hshg-menu-section { padding: 2rem; border-right: .5px solid var(--hshg-border); }
.hshg-menu-section:last-child { border-right: none; }
.hshg-menu-section-title { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--hshg-muted); margin-bottom: 1.5rem; padding-bottom: .75rem; border-bottom: .5px solid var(--hshg-border); }
.hshg-menu-item      { margin-bottom: 1.5rem; }
.hshg-menu-item:last-child { margin-bottom: 0; }
.hshg-menu-item-name { font-family: var(--hshg-serif); font-size: 18px; font-weight: 400; color: var(--hshg-ink); }
.hshg-menu-item-desc { font-size: 12px; line-height: 1.6; color: var(--hshg-muted); margin-top: 3px; font-weight: 300; }

/* ─── PRESS CARDS ─────────────────────────────────── */
.hshg-press-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: .5px solid var(--hshg-border); }
.hshg-press-card { padding: 2.25rem 2rem; border-right: .5px solid var(--hshg-border); border-bottom: .5px solid var(--hshg-border); transition: background .2s; text-decoration: none; display: block; color: inherit; }
.hshg-press-card:hover                 { background: rgba(26,22,18,.03); }
.hshg-press-card:nth-child(3n)         { border-right: none; }
.hshg-press-card.large                 { grid-column: span 2; }
.hshg-press-card.dark                  { background: var(--hshg-ink); }
.hshg-press-card.dark:hover            { background: var(--hshg-ink); }
.hshg-press-card-pub  { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--hshg-warm); margin-bottom: .75rem; }
.hshg-press-card.dark .hshg-press-card-pub { color: rgba(200,169,126,.7); }
.hshg-press-card-hed  { font-family: var(--hshg-serif); font-size: 20px; font-weight: 400; line-height: 1.25; color: var(--hshg-ink); margin-bottom: .75rem; }
.hshg-press-card.large .hshg-press-card-hed { font-size: 28px; }
.hshg-press-card.dark .hshg-press-card-hed  { color: var(--hshg-cream); }
.hshg-press-card-excerpt { font-size: 13px; line-height: 1.75; color: var(--hshg-muted); font-weight: 300; margin-bottom: 1.25rem; }
.hshg-press-card.dark .hshg-press-card-excerpt { color: rgba(245,240,232,.6); }
.hshg-press-card-meta { display: flex; justify-content: space-between; align-items: center; }
.hshg-press-card-date { font-size: 10px; letter-spacing: .12em; color: var(--hshg-muted); }
.hshg-press-card.dark .hshg-press-card-date { color: rgba(245,240,232,.3); }

/* ─── AWARDS GRID ─────────────────────────────────── */
.hshg-awards-grid { display: grid; grid-template-columns: repeat(3,1fr); border: .5px solid var(--hshg-border); margin-top: 2rem; }
.hshg-award-cell  { padding: 2rem; border-right: .5px solid var(--hshg-border); border-bottom: .5px solid var(--hshg-border); }
.hshg-award-cell:nth-child(3n)        { border-right: none; }
.hshg-award-cell:nth-last-child(-n+3) { border-bottom: none; }
.hshg-award-year    { font-family: var(--hshg-serif); font-size: 36px; font-weight: 300; color: rgba(26,22,18,.12); line-height: 1; }
.hshg-award-org     { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--hshg-warm); margin-top: .75rem; margin-bottom: 4px; }
.hshg-award-name    { font-family: var(--hshg-serif); font-size: 18px; font-weight: 400; color: var(--hshg-ink); line-height: 1.3; }
.hshg-award-concept { font-size: 12px; color: var(--hshg-muted); margin-top: 4px; }

/* ─── TIMELINE ────────────────────────────────────── */
.hshg-timeline-section { padding: 4.5rem 3rem; border-bottom: .5px solid var(--hshg-border); background: var(--hshg-warm-lt); }
.hshg-timeline-item    { display: grid; grid-template-columns: 90px 1fr; gap: 2.5rem; padding: 1.75rem 0; border-bottom: .5px solid var(--hshg-border); }
.hshg-timeline-item:last-child { border-bottom: none; }
.hshg-tl-year   { font-family: var(--hshg-serif); font-size: 22px; font-weight: 400; color: var(--hshg-warm); }
.hshg-tl-title  { font-family: var(--hshg-serif); font-size: 19px; font-weight: 400; color: var(--hshg-ink); margin-bottom: 5px; }
.hshg-tl-detail { font-size: 13px; color: var(--hshg-muted); font-weight: 300; line-height: 1.75; }

/* ─── SPEAKING ────────────────────────────────────── */
.hshg-speaking-section { padding: 4.5rem 3rem; border-bottom: .5px solid var(--hshg-border); background: var(--hshg-ink); }
.hshg-speaking-inner   { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.hshg-speaking-item    { padding: 1.25rem 0; border-bottom: .5px solid rgba(255,255,255,.07); }
.hshg-speaking-item:last-child { border-bottom: none; }
.hshg-speaking-venue   { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(200,169,126,.7); margin-bottom: 4px; }
.hshg-speaking-topic   { font-family: var(--hshg-serif); font-size: 18px; font-weight: 400; color: var(--hshg-cream); }
.hshg-speaking-detail  { font-size: 12px; color: rgba(245,240,232,.4); margin-top: 3px; }

/* ─── EVENT BAND ──────────────────────────────────── */
.hshg-event-band  { padding: 4.5rem 3rem; background: var(--hshg-ink); border-bottom: .5px solid var(--hshg-border); }
.hshg-event-inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; }
.hshg-event-stats { display: flex; gap: 3rem; }
.hshg-e-stat-num  { font-family: var(--hshg-serif); font-size: 48px; font-weight: 300; color: var(--hshg-warm); }
.hshg-e-stat-label { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(245,240,232,.4); margin-top: 4px; }

/* ─── STATS ROW ───────────────────────────────────── */
.hshg-stats-row { display: grid; border-bottom: .5px solid var(--hshg-border); }
.hshg-stat      { padding: 2rem 2.5rem; border-right: .5px solid var(--hshg-border); }
.hshg-stat:last-child { border-right: none; }
.hshg-stat-num  { font-family: var(--hshg-serif); font-size: 46px; font-weight: 300; color: var(--hshg-ink); line-height: 1; }
.hshg-stat-label { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--hshg-muted); margin-top: 6px; }

/* ─── PULL QUOTE ──────────────────────────────────── */
.hshg-pullquote { font-family: var(--hshg-serif); font-size: clamp(20px,2.5vw,30px); font-weight: 300; font-style: italic; line-height: 1.4; color: var(--hshg-ink); border-left: 2px solid var(--hshg-warm); padding-left: 1.5rem; margin: 2.5rem 0; }
.hshg-pullquote em { font-style: normal; color: var(--hshg-warm); }

/* ─── ROLE LIST ───────────────────────────────────── */
.hshg-role-list { list-style: none; }
.hshg-role-item { display: flex; justify-content: space-between; align-items: baseline; padding: 1rem 0; border-bottom: .5px solid var(--hshg-border); font-size: 14px; }
.hshg-role-item:last-child { border-bottom: none; }
.hshg-role-name { font-family: var(--hshg-serif); font-size: 18px; font-weight: 400; color: var(--hshg-ink); }
.hshg-role-sub  { font-size: 11px; color: var(--hshg-muted); letter-spacing: .06em; }

/* ─── COMING SOON ─────────────────────────────────── */
.hshg-coming-band   { padding: 3rem; border-bottom: .5px solid var(--hshg-border); display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.hshg-coming-text   { font-family: var(--hshg-serif); font-size: 22px; font-weight: 300; font-style: italic; color: var(--hshg-muted); }
.hshg-coming-form   { display: flex; }
.hshg-coming-input  { font-family: var(--hshg-sans); font-size: 13px; padding: 11px 16px; border: .5px solid var(--hshg-border-md); background: transparent; color: var(--hshg-ink); width: 260px; outline: none; }
.hshg-coming-input::placeholder { color: var(--hshg-muted); }
.hshg-coming-submit { font-family: var(--hshg-sans); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 11px 20px; background: var(--hshg-ink); color: var(--hshg-cream); border: none; cursor: pointer; }

/* ─── CONTACT BLOCK ───────────────────────────────── */
.hshg-contact-block  { border: .5px solid var(--hshg-border); padding: 1.5rem 1.75rem; margin-bottom: 1.5rem; }
.hshg-contact-label  { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--hshg-muted); margin-bottom: .6rem; }
.hshg-contact-name   { font-family: var(--hshg-serif); font-size: 20px; font-weight: 400; color: var(--hshg-ink); }
.hshg-contact-detail,
.hshg-contact-email  { font-size: 13px; color: var(--hshg-muted); margin-top: 4px; }

/* ─── KIT FILES ───────────────────────────────────── */
.hshg-kit-file { display: flex; justify-content: space-between; align-items: center; padding: .75rem 1rem; border: .5px solid var(--hshg-border); font-size: 13px; color: var(--hshg-muted); margin-bottom: 4px; text-decoration: none; transition: background .2s; }
.hshg-kit-file:hover { background: rgba(26,22,18,.03); }
.hshg-kit-file-type  { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--hshg-warm); }

/* ─── CONCEPT STRIP ───────────────────────────────── */
.hshg-concept-strip { display: flex; border-bottom: .5px solid var(--hshg-border); overflow-x: auto; scrollbar-width: none; }
.hshg-concept-strip::-webkit-scrollbar { display: none; }
.hshg-concept-tab   { padding: 1rem 1.75rem; font-family: var(--hshg-sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--hshg-muted); text-decoration: none; border-right: .5px solid var(--hshg-border); border-bottom: 2px solid transparent; white-space: nowrap; transition: all .2s; flex-shrink: 0; }
.hshg-concept-tab:hover        { color: var(--hshg-ink); }
.hshg-concept-tab.current-tab { color: var(--hshg-ink); border-bottom-color: var(--hshg-ink); }

/* ─── RESPONSIVE ──────────────────────────────────── */
@media (max-width: 1024px) {
  .hshg-concept-grid { grid-template-columns: repeat(2,1fr); }
  .hshg-concept-card:nth-child(4n) { border-right: .5px solid var(--hshg-border); }
  .hshg-concept-card:nth-child(2n) { border-right: none; }
  .hshg-concept-card:nth-last-child(-n+4) { border-bottom: .5px solid var(--hshg-border); }
  .hshg-concept-card:nth-last-child(-n+2) { border-bottom: none; }
}

@media (max-width: 900px) {
  #site-header { padding: 1rem 1.5rem; }
  #primary-menu { display: none; }
  .nav-toggle   { display: block; }

  .hshg-hero,
  .hshg-content-grid,
  .hshg-cta-row,
  .hshg-story-split,
  .hshg-speaking-inner { grid-template-columns: 1fr; }

  .hshg-hero-panel { padding: 3rem 1.75rem; }
  .hshg-hero-image { min-height: 320px; border-left: none; border-top: .5px solid var(--hshg-border); }
  .hshg-details-row { grid-template-columns: 1fr 1fr; }
  .hshg-detail-cell:nth-child(2n) { border-right: none; }
  .hshg-press-grid { grid-template-columns: 1fr; }
  .hshg-press-card.large { grid-column: span 1; }
  .hshg-press-card:nth-child(n) { border-right: none; }
  .hshg-awards-grid { grid-template-columns: 1fr 1fr; }
  .hshg-menu-grid { grid-template-columns: 1fr; }
  .hshg-menu-section { border-right: none; border-bottom: .5px solid var(--hshg-border); }
  .hshg-menu-section:last-child { border-bottom: none; }
  .hshg-stats-row { grid-template-columns: 1fr 1fr; }
  .hshg-stat:nth-child(2n) { border-right: none; }
  .hshg-timeline-item { grid-template-columns: 70px 1fr; gap: 1.5rem; }
  .hshg-content-block.border-r { border-right: none; border-bottom: .5px solid var(--hshg-border); }
  .hshg-cta-block:first-child { border-right: none; border-bottom: .5px solid var(--hshg-border); }
  .hshg-section,
  .hshg-content-block,
  .hshg-cta-block,
  .hshg-timeline-section,
  .hshg-speaking-section { padding: 3rem 1.75rem; }
  #site-footer { padding: 2rem 1.75rem; flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
  .hshg-concept-grid { grid-template-columns: 1fr; }
  .hshg-concept-card { border-right: none; }
  .hshg-concept-card:nth-last-child(-n+4) { border-bottom: .5px solid var(--hshg-border); }
  .hshg-concept-card:last-child { border-bottom: none; }
  .hshg-details-row { grid-template-columns: 1fr; }
  .hshg-detail-cell { border-right: none; }
  .hshg-awards-grid { grid-template-columns: 1fr; }
  .hshg-award-cell  { border-right: none; }
  .hshg-award-cell:nth-last-child(-n+3) { border-bottom: .5px solid var(--hshg-border); }
  .hshg-award-cell:last-child { border-bottom: none; }
  .hshg-event-inner { flex-direction: column; align-items: flex-start; }
  .hshg-coming-band { flex-direction: column; align-items: flex-start; }
  .hshg-coming-input { width: 100%; }
  .hshg-speaking-inner { grid-template-columns: 1fr; }
  .hshg-stats-row { grid-template-columns: 1fr 1fr; }
}

/* ─── WORDPRESS CORE OVERRIDES ────────────────────── */
.wp-block-image { margin: 0; }
.entry-content > * { margin-bottom: 0; }
.page-template-full-width #content { max-width: none; padding: 0; }
.admin-bar #site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #site-header { top: 46px; } }

/* ═══════════════════════════════════════════════════
   TEAM — Grid & Profile Pages
   ═══════════════════════════════════════════════════ */

/* ─── TEAM GRID ───────────────────────────────────── */
.hshg-team-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  border:                .5px solid var(--hshg-border);
  margin-top:            2rem;
}

.hshg-team-card {
  display:         flex;
  flex-direction:  column;
  text-decoration: none;
  color:           inherit;
  border-right:    .5px solid var(--hshg-border);
  border-bottom:   .5px solid var(--hshg-border);
  transition:      background .25s;
  position:        relative;
  overflow:        hidden;
}
.hshg-team-card:nth-child(3n)         { border-right: none; }
.hshg-team-card:hover                 { background: rgba(26,22,18,.02); }

/* Featured card spans 2 columns with side-by-side layout */
.hshg-team-card.featured {
  grid-column:           span 2;
  flex-direction:        row;
}
.hshg-team-card.featured .team-card-image {
  width:        50%;
  aspect-ratio: 3 / 4;
  height:       unset;
  min-height:   unset;
  flex-shrink:  0;
  display:      block;
}
.hshg-team-card.featured .team-card-body {
  padding:        3rem;
  display:        flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

/* Image block */
.team-card-image {
  width:        100%;
  aspect-ratio: 3 / 4;
  overflow:     hidden;
  background:   var(--hshg-dark);
  position:     relative;
  flex-shrink:  0;
  display:      block;
}
.team-card-image img {
  width:            100% !important;
  height:           100% !important;
  object-fit:       cover;
  object-position:  center top;
  display:          block;
  transition:       transform .5s ease;
  max-width:        none !important;
}
.hshg-team-card:hover .team-card-image img { transform: scale(1.04); }

/* Placeholder initials */
.team-card-image-placeholder {
  width:           100%;
  height:          260px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      linear-gradient(160deg, #2e2820 0%, #1a1410 100%);
}
.hshg-team-card.featured .team-card-image-placeholder { height: 100%; }
.team-card-initials {
  font-family: var(--hshg-serif);
  font-size:   52px;
  font-weight: 300;
  color:       rgba(200,169,126,.18);
}

.team-card-body   { padding: 1.75rem 1.75rem 2rem; flex: 1; position: relative; }
.team-card-concept {
  font-size:      10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color:          var(--hshg-warm);
  margin-bottom:  .5rem;
}
.team-card-name {
  font-family:   var(--hshg-serif);
  font-size:     24px;
  font-weight:   400;
  color:         var(--hshg-ink);
  line-height:   1.1;
  margin-bottom: 4px;
}
.hshg-team-card.featured .team-card-name {
  font-size: clamp(32px, 3.5vw, 48px);
}
.team-card-title {
  font-size:      11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color:          var(--hshg-muted);
  margin-bottom:  1rem;
}
.team-card-bio {
  font-size:   13px;
  line-height: 1.75;
  color:       var(--hshg-muted);
  font-weight: 300;
}
.team-card-jba {
  display:        inline-block;
  font-size:      9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding:        3px 8px;
  border:         .5px solid var(--hshg-warm);
  color:          var(--hshg-warm);
  margin-top:     1rem;
}
.team-card-quote {
  font-family: var(--hshg-serif);
  font-size:   15px;
  font-style:  italic;
  color:       var(--hshg-muted);
  line-height: 1.55;
  margin-top:  1rem;
}
.team-card-arrow {
  position:   absolute;
  bottom:     1.5rem;
  right:      1.75rem;
  font-size:  15px;
  color:      var(--hshg-warm);
  opacity:    0;
  transition: opacity .2s;
}
.hshg-team-card:hover .team-card-arrow { opacity: 1; }

/* Filter tabs */
.hshg-team-filters {
  display:       flex;
  gap:           0;
  margin-bottom: 2rem;
  flex-wrap:     wrap;
}
.hshg-filter-btn {
  font-family:     var(--hshg-sans);
  font-size:       10px;
  letter-spacing:  .16em;
  text-transform:  uppercase;
  padding:         8px 18px;
  border:          .5px solid var(--hshg-border);
  margin-left:     -.5px;
  background:      transparent;
  color:           var(--hshg-muted);
  cursor:          pointer;
  transition:      all .2s;
}
.hshg-filter-btn:hover,
.hshg-filter-btn.active {
  background: var(--hshg-ink);
  color:      var(--hshg-cream);
  border-color: var(--hshg-ink);
}

/* ─── SHARED PAGE HERO ────────────────────────────── */
.hshg-page-hero {
  padding:               4.5rem 3rem 3.5rem;
  border-bottom:         .5px solid var(--hshg-border);
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   5rem;
  align-items:           end;
}
.hshg-page-hero-eyebrow { margin-bottom: 1rem; }
.hshg-page-hero-title {
  font-family: var(--hshg-serif);
  font-size:   clamp(48px, 6vw, 88px);
  font-weight: 300;
  line-height: .95;
  color:       var(--hshg-ink);
}
.hshg-page-hero-title em { font-style: italic; color: var(--hshg-warm); }
.hshg-page-hero-desc {
  font-size:   14px;
  line-height: 1.8;
  color:       var(--hshg-muted);
  max-width:   460px;
}
@media ( max-width: 768px ) {
  .hshg-page-hero { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 1.75rem 2.5rem; }
}

/* ─── CONCEPTS PAGE ───────────────────────────────── */
/* (header uses .hshg-page-hero shared class) */

/* ─── CONSULTING PAGE ─────────────────────────────── */
/* (header uses .hshg-page-hero shared class) */

/* Vertical stack of posts */
.hshg-consulting-stack {
  width:   80%;
  margin:  0 auto;
  padding: 3rem 0 5rem;
  display: flex;
  flex-direction: column;
  gap:     2rem;
}

/* Individual post */
.hshg-consulting-post {
  border-bottom: .5px solid var(--hshg-border);
  padding-bottom: 2rem;
}
.hshg-consulting-post:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.hshg-consulting-post-title {
  font-family:   var(--hshg-serif);
  font-size:     clamp(28px, 3.5vw, 48px);
  font-weight:   300;
  line-height:   1.1;
  color:         var(--hshg-ink);
  margin-bottom: 2rem;
}

/* Block editor content styles */
.hshg-consulting-content {
  font-size:   15px;
  line-height: 1.8;
  color:       var(--hshg-muted);
}
.hshg-consulting-content p          { margin-bottom: 1.25rem; }
.hshg-consulting-content p:last-child { margin-bottom: 0; }
.hshg-consulting-content h2,
.hshg-consulting-content h3,
.hshg-consulting-content h4 {
  font-family:   var(--hshg-serif);
  font-weight:   300;
  color:         var(--hshg-ink);
  margin:        2rem 0 1rem;
}
.hshg-consulting-content h2 { font-size: clamp(22px, 2.5vw, 32px); }
.hshg-consulting-content h3 { font-size: clamp(18px, 2vw, 26px); }
.hshg-consulting-content h4 { font-size: 16px; letter-spacing: .05em; }
.hshg-consulting-content img {
  max-width:     100%;
  height:        auto;
  display:       block;
  margin:        2rem 0;
}
.hshg-consulting-content figure       { margin: 2rem 0; }
.hshg-consulting-content figcaption  {
  font-size:      11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          var(--hshg-muted);
  margin-top:     .75rem;
}
.hshg-consulting-content ul,
.hshg-consulting-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
}
.hshg-consulting-content li          { margin-bottom: .5rem; }
.hshg-consulting-content blockquote  {
  font-family:  var(--hshg-serif);
  font-size:    clamp(18px, 2.2vw, 26px);
  font-style:   italic;
  font-weight:  300;
  line-height:  1.5;
  color:        var(--hshg-ink);
  border-left:  2px solid var(--hshg-warm);
  padding-left: 1.5rem;
  margin:       2rem 0;
}
.hshg-consulting-content a {
  color:           var(--hshg-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.hshg-consulting-content a:hover { color: var(--hshg-warm); }

/* Gutenberg columns block */
.hshg-consulting-content .wp-block-columns {
  display: flex;
  gap:     2.5rem;
  margin:  2rem 0;
}
.hshg-consulting-content .wp-block-column { flex: 1; min-width: 0; }

/* Gutenberg image block alignment */
.hshg-consulting-content .wp-block-image.alignfull  { width: 100%; margin-left: 0; margin-right: 0; }
.hshg-consulting-content .wp-block-image.alignwide  { width: 100%; }
.hshg-consulting-content .wp-block-image.alignleft  { float: left; margin-right: 2rem; margin-bottom: 1rem; max-width: 45%; }
.hshg-consulting-content .wp-block-image.alignright { float: right; margin-left: 2rem; margin-bottom: 1rem; max-width: 45%; }
.hshg-consulting-content::after { content: ''; display: table; clear: both; }

/* Responsive */
@media ( max-width: 900px ) {
  .hshg-consulting-header                        { max-width: 100%; padding: 2.5rem 1.75rem; }
  .hshg-consulting-stack                         { width: 92%; padding: 3rem 0 4rem; gap: 3rem; }
  .hshg-consulting-content .wp-block-columns     { flex-direction: column; gap: 1.5rem; }
  .hshg-consulting-content .wp-block-image.alignleft,
  .hshg-consulting-content .wp-block-image.alignright { float: none; max-width: 100%; margin: 1.5rem 0; }
}

/* ─── CONCEPT AWARDS STRIP ────────────────────────── */
.hshg-awards-strip {
  display:       flex;
  flex-wrap:     wrap;
  gap:           0;
  border-bottom: .5px solid var(--hshg-border);
}
.hshg-award-item {
  display:         flex;
  align-items:     center;
  gap:             .85rem;
  padding:         1.25rem 2rem;
  border-right:    .5px solid var(--hshg-border);
  text-decoration: none;
  color:           inherit;
  transition:      background .2s;
}
a.hshg-award-item:hover { background: rgba(200,169,126,.06); }
.hshg-award-icon {
  width:      80px;
  height:     80px;
  object-fit: contain;
  flex-shrink: 0;
}
.hshg-award-text {
  font-size:      11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          var(--hshg-ink);
  line-height:    1.4;
}

/* ─── CONCEPT SOCIAL LINKS ────────────────────────── */
.hshg-social-links {
  display:     flex;
  gap:         .6rem;
  flex-wrap:   wrap;
  margin-top:  1.75rem;
  align-items: center;
}
.hshg-social-icon {
  display:          flex;
  align-items:      center;
  justify-content:  center;
  width:            36px;
  height:           36px;
  border:           .5px solid rgba(26,22,18,.2);
  color:            var(--hshg-ink);
  text-decoration:  none;
  transition:       border-color .2s, color .2s, background .2s;
  flex-shrink:      0;
}
.hshg-social-icon svg {
  width:  16px;
  height: 16px;
  display: block;
}
.hshg-social-icon:hover {
  border-color: var(--hshg-warm);
  color:        var(--hshg-warm);
  background:   rgba(200,169,126,.08);
}

/* ─── BREADCRUMB ───────────────────────────────────── */
.hshg-breadcrumb {
  padding:         .85rem 3rem;
  border-bottom:   .5px solid var(--hshg-border);
  display:         flex;
  align-items:     center;
  gap:             .75rem;
}
.hshg-breadcrumb-back {
  font-size:      10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color:          var(--hshg-muted);
  text-decoration: none;
  transition:     color .2s;
}
.hshg-breadcrumb-back:hover { color: var(--hshg-ink); }
.hshg-breadcrumb-sep    { font-size: 10px; color: var(--hshg-border); }
.hshg-breadcrumb-current {
  font-size:      10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color:          var(--hshg-ink);
}

/* ─── TEAM PROFILE PAGE ───────────────────────────── */
/* image left · text right */
.hshg-profile-hero {
  display:               grid;
  grid-template-columns: 4fr 5fr;   /* image narrower, text wider */
  min-height:            600px;
  border-bottom:         .5px solid var(--hshg-border);
}

/* LEFT: portrait image */
.hshg-profile-image {
  background:  var(--hshg-dark);
  border-right: .5px solid var(--hshg-border);
  position:    relative;
  overflow:    hidden;
}
.hshg-profile-image img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  object-position: center top;
  display:    block;
}
.hshg-profile-image-placeholder {
  width:           100%;
  height:          100%;
  min-height:      500px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      #1e1a16;
}
.profile-initials-lg {
  font-family: var(--hshg-serif);
  font-size:   90px;
  font-weight: 300;
  color:       rgba(200,169,126,.1);
}
.hshg-profile-image-footer {
  position:         absolute;
  bottom:           0;
  left:             0;
  right:            0;
  padding:          1rem 1.5rem;
  background:       linear-gradient(transparent, rgba(26,22,18,.7));
  display:          flex;
  justify-content:  flex-end;
}
.hshg-profile-ig-link {
  font-size:      10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color:          rgba(255,255,255,.45);
  text-decoration: none;
}
.hshg-profile-ig-link:hover { color: rgba(255,255,255,.75); }

/* RIGHT: text panel — light background */
.hshg-profile-panel {
  padding:         4.5rem 3.5rem;
  display:         flex;
  flex-direction:  column;
  justify-content: space-between;
  background:      var(--hshg-cream);
}
.hshg-profile-panel-top { flex: 1; }
.hshg-profile-panel-bottom {
  display:    flex;
  gap:        1rem;
  flex-wrap:  wrap;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: .5px solid var(--hshg-border);
}
.hshg-profile-cta {
  font-family:    var(--hshg-sans);
  font-size:      11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding:        13px 28px;
  text-decoration: none;
}

.hshg-profile-eyebrow {
  color:         var(--hshg-warm);
  margin-bottom: 1.5rem;
}

.hshg-profile-name {
  font-family: var(--hshg-serif);
  font-size:   clamp(52px, 6.5vw, 88px);
  font-weight: 300;
  line-height: .92;
  color:       var(--hshg-ink);
}
.hshg-profile-name em {
  font-style: italic;
  color:      var(--hshg-warm);
}

.hshg-profile-titles {
  font-size:      12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color:          var(--hshg-muted);
  line-height:    2.2;
  margin-top:     1.5rem;
}

.hshg-profile-badge {
  display:     inline-flex;
  align-items: center;
  gap:         10px;
  padding:     10px 18px;
  border:      .5px solid rgba(200,169,126,.5);
  margin-top:  1.75rem;
}
.hshg-profile-badge span {
  font-size:      10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color:          var(--hshg-warm);
}

.hshg-profile-bio-short {
  font-size:   14px;
  line-height: 1.75;
  color:       var(--hshg-muted);
  max-width:   480px;
  margin-top:  1.75rem;
}

.hshg-profile-pullquote {
  font-family:   var(--hshg-serif);
  font-size:     clamp(18px, 2.2vw, 26px);
  font-weight:   300;
  font-style:    italic;
  line-height:   1.45;
  color:         var(--hshg-ink);
  border-left:   2px solid var(--hshg-warm);
  padding-left:  1.25rem;
  margin:        2rem 0 0;
  max-width:     500px;
}


/* ─── PRIVATE EVENTS PAGE ─────────────────────────── */
/* (header uses .hshg-page-hero shared class) */

.hshg-pe-grid {
  width:   80%;
  margin:  0 auto;
  padding: 4rem 0 6rem;
}

/* Each concept card */
.hshg-pe-card {
  border-bottom: .5px solid var(--hshg-border);
  padding-bottom: 5rem;
  margin-bottom:  5rem;
}
.hshg-pe-card:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

/* Image — full width of the card */
.hshg-pe-card-image {
  width:     100%;
  height:    clamp(280px, 40vw, 520px);
  overflow:  hidden;
  background: var(--hshg-dark);
  margin-bottom: 2.5rem;
}
.hshg-pe-card-image img {
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center center;
  display:         block;
}
.hshg-pe-card-image-placeholder {
  width:           100%;
  height:          100%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      linear-gradient(160deg, #2e2820, #1a1410);
}
.hshg-pe-card-image-placeholder span {
  font-family: var(--hshg-serif);
  font-size:   100px;
  font-weight: 300;
  color:       rgba(200,169,126,.1);
}

/* Two-column body */
.hshg-pe-card-body {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   4rem;
  align-items:           start;
}

/* LEFT: description column */
.hshg-pe-card-main { text-align: left; }
.hshg-pe-location {
  color:         var(--hshg-warm);
  margin-bottom: .6rem;
}
.hshg-pe-concept-name {
  font-family:   var(--hshg-serif);
  font-size:     clamp(32px, 4vw, 54px);
  font-weight:   300;
  line-height:   1.05;
  color:         var(--hshg-ink);
  margin-bottom: 1.5rem;
}
.hshg-pe-description {
  font-size:   14px;
  line-height: 1.85;
  color:       var(--hshg-muted);
}
.hshg-pe-description p + p { margin-top: 1rem; }
.hshg-pe-card-actions {
  display:     flex;
  align-items: center;
  gap:         2rem;
  flex-wrap:   wrap;
  margin-top:  2rem;
}
.hshg-pe-cta {
  font-size:       11px;
  letter-spacing:  .14em;
  text-transform:  uppercase;
  padding:         13px 28px;
  text-decoration: none;
}

/* RIGHT: specs column */
.hshg-pe-card-specs {
  text-align: left;
  display:    flex;
  flex-direction: column;
  gap:        2rem;
}
.hshg-pe-spec-label {
  font-size:      9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color:          var(--hshg-warm);
  margin-bottom:  .75rem;
}
.hshg-pe-spec-row {
  display:         flex;
  justify-content: space-between;
  align-items:     baseline;
  padding:         .6rem 0;
  border-bottom:   .5px solid var(--hshg-border);
  gap:             1rem;
}
.hshg-pe-spec-key {
  font-size:      11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:          var(--hshg-muted);
}
.hshg-pe-spec-val {
  font-family: var(--hshg-serif);
  font-size:   24px;
  font-weight: 300;
  color:       var(--hshg-ink);
}
.hshg-pe-spec-text {
  font-size:   13px;
  line-height: 1.75;
  color:       var(--hshg-muted);
}
.hshg-pe-tags {
  display:   flex;
  flex-wrap: wrap;
  gap:       .5rem;
}
.hshg-pe-tag {
  font-size:      9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color:          var(--hshg-ink);
  border:         .5px solid var(--hshg-border);
  padding:        5px 10px;
}

/* Responsive */
@media (max-width: 900px) {
  .hshg-pe-header          { max-width: 100%; padding: 2.5rem 1.75rem 2.5rem; }
  .hshg-pe-grid            { width: 92%; padding: 3rem 0 4rem; }
  .hshg-pe-card-body       { grid-template-columns: 1fr; gap: 2.5rem; }
  .hshg-pe-card-image      { height: 260px; }
}

/* ─── HOMEPAGE TEAM PREVIEW ───────────────────────── */

/* ─── HOMEPAGE TEAM PREVIEW ───────────────────────── */
.hshg-team-preview { border-top: .5px solid var(--hshg-border); }

.hshg-team-preview-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  border:                .5px solid var(--hshg-border);
  margin-top:            2rem;
}

.hshg-team-preview-card {
  display:         flex;
  flex-direction:  column;
  text-decoration: none;
  color:           inherit;
  border-right:    .5px solid var(--hshg-border);
  overflow:        hidden;
  transition:      background .25s;
  position:        relative;
}
.hshg-team-preview-card:last-child { border-right: none; }
.hshg-team-preview-card:hover      { background: rgba(26,22,18,.02); }

.hshg-team-preview-img {
  width:      100%;
  height:     280px;
  overflow:   hidden;
  background: var(--hshg-dark);
  flex-shrink: 0;
}
.hshg-team-preview-img img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  object-position: center top;
  display:    block;
  transition: transform .5s ease;
}
.hshg-team-preview-card:hover .hshg-team-preview-img img { transform: scale(1.04); }

.hshg-team-preview-placeholder {
  width:           100%;
  height:          100%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      linear-gradient(160deg, #2e2820 0%, #1a1410 100%);
}
.hshg-team-preview-placeholder span {
  font-family: var(--hshg-serif);
  font-size:   48px;
  font-weight: 300;
  color:       rgba(200,169,126,.18);
}

.hshg-team-preview-body {
  padding:  1.5rem 1.5rem 2rem;
  flex:     1;
  position: relative;
}

@media (max-width: 1024px) {
  .hshg-team-preview-grid { grid-template-columns: repeat(2, 1fr); }
  .hshg-team-preview-card:nth-child(2) { border-right: none; }
  .hshg-team-preview-card:nth-child(3) { border-top: .5px solid var(--hshg-border); }
  .hshg-team-preview-card:nth-child(4) { border-right: none; border-top: .5px solid var(--hshg-border); }
}
@media (max-width: 600px) {
  .hshg-team-preview-grid { grid-template-columns: repeat(2, 1fr); }
  .hshg-team-preview-img  { height: 200px; }
}

/* ─── RESPONSIVE — TEAM ───────────────────────────── */
@media (max-width: 1024px) {
  .hshg-team-grid            { grid-template-columns: repeat(2, 1fr); }
  .hshg-team-card:nth-child(3n)  { border-right: .5px solid var(--hshg-border); }
  .hshg-team-card:nth-child(2n)  { border-right: none; }
  .hshg-team-card.featured       { grid-column: span 2; }
}

@media (max-width: 760px) {
  .hshg-team-grid                { grid-template-columns: 1fr; }
  .hshg-team-card                { border-right: none; flex-direction: column; }
  .hshg-team-card.featured       { grid-column: span 1; flex-direction: column; }
  .hshg-team-card.featured .team-card-image { width: 100%; aspect-ratio: 3 / 4; height: unset; min-height: unset; }
  .hshg-team-card.featured .team-card-body  { padding: 1.75rem; }
  .hshg-profile-hero             { grid-template-columns: 1fr; }
  .hshg-profile-image            { border-right: none; border-bottom: .5px solid var(--hshg-border); min-height: 380px; }
  .hshg-profile-panel            { padding: 3rem 1.75rem; }
  .hshg-breadcrumb               { padding: .75rem 1.75rem; }
}
