:root {
  --hm-shadow: 0 26px 70px rgba(18, 16, 20, 0.16);
  --hm-hairline: rgba(18, 16, 20, 0.17);
  --hm-ivory: #f6f1e9;
  --hm-paper: #fffdf9;
  --hm-ink: #121014;
  --hm-mulberry: #63253f;
  --hm-gold: #b89755;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body, .editor-styles-wrapper {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--hm-mulberry); color: #fff; }

.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

.hm-header {
  position: relative;
  z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: #121014;
  color: #fffdf9;
}
.hm-header__inner {
  min-height: 88px;
  gap: clamp(1rem, 3vw, 2.8rem);
}
.hm-brand { gap: .85rem; min-width: fit-content; }
.hm-brand-mark {
  width: 48px;
  height: 54px;
  flex: 0 0 48px;
  background: url('../images/hasley-h-mark.png') center/contain no-repeat;
}
.hm-brand .wp-block-site-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1.05;
}
.hm-brand .wp-block-site-title a { color: #fffdf9; text-decoration: none; }
.hm-brand__strapline {
  margin: .22rem 0 0;
  color: #c8c4c1;
  font-size: .63rem;
  letter-spacing: .18em;
  line-height: 1.25;
  text-transform: uppercase;
}
.hm-nav { margin-left: auto; }
.hm-nav .wp-block-navigation-item__content {
  color: #fffdf9;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hm-nav .wp-block-navigation-item__content:hover { color: #d4b977; }
.hm-nav .wp-block-navigation__submenu-container {
  min-width: 240px !important;
  padding: .7rem !important;
  border: 0 !important;
  background: #fffdf9 !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
}
.hm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: .65rem .75rem !important;
  color: #121014 !important;
  font-size: .7rem;
}
.hm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: #f1e9df;
  color: #63253f !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
  padding: 1.5rem !important;
  background: #121014 !important;
  color: #fffdf9 !important;
}

.hm-kicker {
  margin-bottom: .85rem;
  color: var(--hm-gold);
  font-size: .69rem;
  font-weight: 750;
  letter-spacing: .22em;
  line-height: 1.35;
  text-transform: uppercase;
}
.hm-kicker--ink { color: var(--hm-mulberry); }
.hm-rule { width: 74px; border-top: 1px solid var(--hm-gold); }

.hm-hero {
  min-height: min(780px, 82vh);
  padding-top: clamp(5rem, 10vw, 9rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
}
.hm-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(13,11,14,.86) 0%, rgba(13,11,14,.62) 45%, rgba(13,11,14,.16) 100%) !important; }
.hm-hero__content { width: min(720px, 100%); margin-left: 0 !important; }
.hm-hero h1 { margin: .25rem 0 1.15rem; color: #fffdf9; font-size: var(--wp--preset--font-size--hero); letter-spacing: -.035em; }
.hm-hero__lead { max-width: 620px; margin-bottom: 2rem; color: #eee6dc; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lead); line-height: 1.5; }
.hm-hero__buttons { gap: .75rem; }
.hm-button-outline .wp-block-button__link { border: 1px solid rgba(255,255,255,.58); background: transparent; color: #fff; }
.hm-button-outline .wp-block-button__link:hover { border-color: #fff; background: #fff; color: #121014; }
.wp-block-button__link { transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }

.hm-logo-seal {
  position: absolute;
  right: clamp(1rem, 5vw, 5rem);
  bottom: -54px;
  z-index: 2;
  width: clamp(100px, 12vw, 150px);
  height: clamp(110px, 13vw, 164px);
  border: 1px solid rgba(255,255,255,.19);
  background: #121014 url('../images/hasley-h-mark.png') center/78% auto no-repeat;
  box-shadow: var(--hm-shadow);
}

.hm-section { padding-top: clamp(4rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7.5rem); }
.hm-section--compact { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.hm-section-title { margin: .2rem 0 1.4rem; font-size: var(--wp--preset--font-size--large); letter-spacing: -.025em; }
.hm-intro { max-width: 1100px; }
.hm-intro__title { max-width: 720px; margin: 0; font-size: clamp(2.4rem, 5vw, 5.1rem); letter-spacing: -.035em; }
.hm-intro__copy { max-width: 640px; margin-left: auto; }
.hm-intro__copy p:first-child { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lead); line-height: 1.5; }

.hm-card-grid { gap: 1px; background: rgba(18,16,20,.15); }
.hm-card { position: relative; min-height: 520px; overflow: hidden; background: #121014; }
.hm-card .wp-block-cover__image-background { transition: transform .65s ease, filter .4s ease; }
.hm-card:hover .wp-block-cover__image-background { transform: scale(1.035); filter: saturate(.85); }
.hm-card .wp-block-cover__background { background: linear-gradient(180deg, rgba(18,16,20,.08) 28%, rgba(18,16,20,.9) 100%) !important; }
.hm-card__body { align-self: end; padding: 2.1rem !important; }
.hm-card__number { margin: 0 0 auto; color: #d7bf8b; font-size: .68rem; font-weight: 700; letter-spacing: .18em; }
.hm-card h3 { margin: .35rem 0 .8rem; color: #fffdf9; font-size: clamp(2rem, 3vw, 3.25rem); }
.hm-card p { color: #e8e0d6; }
.hm-card a { color: #fffdf9; font-size: .7rem; font-weight: 750; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }

.hm-split { gap: clamp(2.5rem, 7vw, 7rem); }
.hm-split__media { min-height: 620px; box-shadow: var(--hm-shadow); }
.hm-split__copy { padding: clamp(1rem, 3vw, 3rem) 0; }
.hm-split__copy h2 { margin: .25rem 0 1.2rem; font-size: clamp(2.3rem, 4vw, 4.6rem); letter-spacing: -.035em; }
.hm-split__copy .hm-lead { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lead); line-height: 1.5; }

.hm-stat-band { padding-top: 2.25rem; padding-bottom: 2.25rem; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.hm-stat { border-right: 1px solid rgba(255,255,255,.16); }
.hm-stat:last-child { border-right: 0; }
.hm-stat strong { display: block; color: #fffdf9; font-family: var(--wp--preset--font-family--display); font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 400; line-height: 1; }
.hm-stat span { display: block; margin-top: .55rem; color: #c8c4c1; font-size: .67rem; letter-spacing: .15em; text-transform: uppercase; }

.hm-story-grid { gap: clamp(1.25rem, 3vw, 2.4rem); }
.hm-story { border-top: 1px solid var(--hm-hairline); }
.hm-story__image { aspect-ratio: 4 / 3; overflow: hidden; }
.hm-story__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hm-story:hover .hm-story__image img { transform: scale(1.025); }
.hm-story__meta { margin-top: 1.15rem; color: var(--hm-mulberry); font-size: .66rem; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.hm-story h3 { margin: .45rem 0 .7rem; font-size: clamp(1.55rem, 2.3vw, 2.25rem); }
.hm-story h3 a { color: var(--hm-ink); text-decoration: none; }

.hm-banner { min-height: 520px; }
.hm-banner .wp-block-cover__background { background: linear-gradient(90deg, rgba(18,16,20,.83), rgba(18,16,20,.35)) !important; }
.hm-banner__copy { width: min(650px, 100%); margin-left: 0 !important; }
.hm-banner h2 { margin: .35rem 0 1rem; color: #fffdf9; font-size: clamp(2.5rem, 5vw, 5.2rem); }
.hm-banner p { color: #eee6dc; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lead); }

.hm-page-hero { min-height: clamp(420px, 56vw, 650px); }
.hm-page-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(18,16,20,.82), rgba(18,16,20,.3)) !important; }
.hm-page-hero__inner { max-width: 880px; margin-left: 0 !important; padding-top: 4rem; padding-bottom: 4rem; }
.hm-page-hero h1, .hm-page-hero .wp-block-post-title { margin: .3rem 0 1rem; color: #fffdf9; font-size: var(--wp--preset--font-size--hero); letter-spacing: -.035em; }
.hm-page-hero__deck { max-width: 700px; color: #ede4d9; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lead); }

.hm-section:has(> .hm-article-shell) { padding-top: 0; }
.hm-article-shell { display: block !important; max-width: 1000px; }
.hm-article-shell > .hm-article-rail { position: static; display: flex; width: 100% !important; flex-basis: auto !important; flex-wrap: wrap; align-items: center; gap: .45rem clamp(1.1rem, 3vw, 2.15rem); margin-bottom: clamp(3.5rem, 7vw, 5.15rem); padding: 0 0 1.35rem; border-bottom: 1px solid var(--hm-hairline); }
.hm-article-rail > p { margin: 0; color: #5b5558; font-size: .78rem; }
.hm-article-rail > .hm-kicker { margin-right: .5rem; color: var(--hm-mulberry); white-space: nowrap; }
.hm-article-rail > p:has(a) { display: flex; flex-wrap: wrap; gap: .45rem clamp(1.1rem, 3vw, 2.15rem); }
.hm-article-rail a { display: inline-flex; padding: .45rem 0; color: var(--hm-ink); font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.hm-article-rail a:hover, .hm-article-rail a:focus { color: var(--hm-mulberry); }
.hm-article-shell > .hm-article { width: min(780px, 100%) !important; max-width: 780px; flex-basis: auto !important; margin-inline: auto; font-family: var(--wp--preset--font-family--display); font-size: 1.09rem; line-height: 1.82; }
.hm-article h2 { margin-top: 2.7em; font-size: clamp(2rem, 3.2vw, 3.15rem); }
.hm-article h3 { margin-top: 2.25em; font-size: clamp(1.45rem, 2vw, 2rem); }
.hm-article p:first-child { font-size: var(--wp--preset--font-size--lead); line-height: 1.58; }
.hm-article .wp-block-image { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.hm-article figcaption { color: #6a6266; font-family: var(--wp--preset--font-family--sans); font-size: .72rem; letter-spacing: .04em; }
.hm-article table { font-family: var(--wp--preset--font-family--sans); font-size: .88rem; }
.hm-article th { background: #3b1d2d; color: #fff; text-align: left; }
.hm-article th, .hm-article td { padding: .85rem; border-color: rgba(18,16,20,.17); }

.hm-callout { padding: clamp(1.5rem, 4vw, 3rem); border-top: 3px solid var(--hm-gold); background: #fffdf9; box-shadow: 0 16px 46px rgba(18,16,20,.08); }
.hm-callout h3 { margin-top: 0; }

.hm-profile-card { gap: clamp(2rem, 6vw, 6rem); padding: clamp(2rem, 6vw, 5.5rem); background: #121014; color: #fffdf9; }
.hm-profile-card img { aspect-ratio: 4 / 5; object-fit: cover; }
.hm-profile-card h2 { color: #fffdf9; font-size: clamp(2.4rem, 5vw, 5rem); }
.hm-profile-card p { color: #e7ded1; }

.hm-steward-hero h1 { font-size: clamp(3.5rem, 8vw, 7rem); }
.hm-steward-hero__grid { gap: clamp(2rem, 7vw, 7rem); }
.hm-steward-hero__mark { max-width: 280px; margin-left: auto; padding: 1.25rem; border: 1px solid rgba(255,255,255,.18); background: rgba(18,16,20,.7); box-shadow: var(--hm-shadow); }
.hm-steward-hero__mark img { aspect-ratio: 1 / 1.08; object-fit: contain; }
.hm-steward-intro { gap: clamp(2.5rem, 8vw, 7rem); }
.hm-steward-intro > .wp-block-column:first-child { padding: clamp(1.25rem, 4vw, 3rem); background: #fffdf9; box-shadow: var(--hm-shadow); }
.hm-steward-intro > .wp-block-column:first-child img { max-height: 660px; object-fit: contain; }
.hm-steward-intro h2 { font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.035em; }
.hm-steward-principles .hm-callout { min-height: 250px; border-top-color: var(--hm-gold); color: var(--hm-ink); }
.hm-steward-principles .hm-callout h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); }

.hm-index-list { border-top: 1px solid var(--hm-hairline); }
.hm-index-item { gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--hm-hairline); }
.hm-index-item h3 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 2.15rem); }
.hm-index-item p { margin: 0; color: #675f63; }
.hm-index-item a { color: var(--hm-ink); text-decoration: none; }

.hm-footer { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: 2rem; background: #121014; color: #f6f1e9; }
.hm-footer__brand { max-width: 460px; }
.hm-footer-mark { width: 92px; height: 102px; background: url('../images/hasley-h-mark.png') center/contain no-repeat; }
.hm-footer h2 { margin: 1rem 0 .75rem; color: #fffdf9; font-size: clamp(2rem, 3.5vw, 3.4rem); }
.hm-footer p { color: #c8c4c1; }
.hm-footer h3 { color: #d7bf8b; font-family: var(--wp--preset--font-family--sans); font-size: .68rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.hm-footer a { color: #fffdf9; text-decoration: none; }
.hm-footer__menu { gap: .5rem; }
.hm-footer__menu a { display: block; padding: .25rem 0; color: #e7ded1; font-size: .88rem; }
.hm-footer__base { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); }
.hm-footer__base p { font-size: .68rem; letter-spacing: .08em; }

@media (max-width: 980px) {
  .hm-header__inner { min-height: 76px; }
  .hm-brand__strapline { display: none; }
  .hm-card-grid, .hm-story-grid { grid-template-columns: 1fr 1fr !important; }
  .hm-card-grid > *:last-child, .hm-story-grid > *:last-child { grid-column: 1 / -1; }
  .hm-article-rail { gap-inline: 1.35rem; }
  .hm-steward-hero__grid, .hm-steward-intro { grid-template-columns: 1fr !important; }
  .hm-steward-hero__mark { margin-left: 0; }
}

@media (max-width: 700px) {
  .hm-brand-mark { width: 40px; height: 45px; flex-basis: 40px; }
  .hm-logo-seal { display: none; }
  .hm-hero { min-height: 680px; }
  .hm-card-grid, .hm-story-grid, .hm-stat-band, .hm-split, .hm-profile-card { grid-template-columns: 1fr !important; }
  .hm-article-shell > .hm-article-rail { align-items: flex-start; gap: .25rem 1.1rem; padding-bottom: 1.1rem; }
  .hm-article-rail > .hm-kicker { flex-basis: 100%; margin-bottom: .25rem; }
  .hm-card { min-height: 440px; }
  .hm-split__media { min-height: 440px; }
  .hm-stat { padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .hm-stat:last-child { border-bottom: 0; }
  .hm-intro__copy { margin-left: 0; }
  .hm-footer__columns { grid-template-columns: 1fr 1fr !important; }
  .hm-footer__brand { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
