/* Preserved styling / behaviour segment (original load order). */
/* Hideaway — gallery & journal only. Shared site styling stays in site.css. */
.gallery-page {
  background: #fffefa;
}
.gallery-page .desktop-nav a[aria-current="page"]::after {
  right: 0;
}
.gallery-intro {
  padding: clamp(76px, 9vw, 130px) 0 clamp(54px, 6vw, 86px);
  background: #eff8f6;
}
.gallery-intro-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(245px, .65fr);
  gap: clamp(24px, 5vw, 76px);
  align-items: end;
}
.gallery-intro h1,
.entry-heading h1 {
  font: 500 clamp(63px, 9vw, 118px)/.94 var(--heading-face);
  letter-spacing: -.052em;
  color: #205766;
  margin: 20px 0 0;
}
.gallery-intro h1 em,
.entry-heading h1 em {
  color: #478e9b;
  font-weight: 500;
}
.gallery-intro-inner > p {
  color: #58787b;
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 1.9;
  margin: 0 0 9px;
  max-width: 380px;
}
.gallery-collection {
  padding: clamp(42px, 5vw, 66px) 0 clamp(94px, 10vw, 142px);
}
.gallery-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 30px;
  margin-bottom: 32px;
}
.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.gallery-filter {
  padding: 10px 17px;
  border: 1px solid #d3e7e4;
  border-radius: 100px;
  background: transparent;
  color: #456a70;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  transition: background .22s, border-color .22s, color .22s;
}
.gallery-filter:hover {
  border-color: #89b9bb;
  background: #edf7f4;
}
.gallery-filter.is-active {
  background: #286e7b;
  border-color: #286e7b;
  color: white;
}
.gallery-count {
  color: #71898b;
  font-size: 12px;
  margin: 0;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
  align-items: start;
}
.gallery-card {
  min-width: 0;
}
.gallery-card[hidden] {
  display: none;
}
.gallery-card-link {
  display: block;
  height: 100%;
}
.gallery-card-image {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #deece8;
}
.gallery-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.2);
  pointer-events: none;
}
.gallery-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.65,.22,1);
}
.gallery-card-link:hover img,
.gallery-card-link:focus-visible img {
  transform: scale(1.035);
}
.gallery-card-info {
  padding: 20px 2px 12px;
}
.gallery-card-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  font-size: 9px;
  color: #4d8f97;
}
.gallery-card-kicker span:last-child {
  color: #988a78;
}
.gallery-card h2 {
  font: 500 clamp(30px, 3vw, 39px)/1.08 var(--serif);
  color: #215b67;
  letter-spacing: -.018em;
  margin: 14px 0 10px;
}
.gallery-card p {
  color: #688085;
  font-size: 12.5px;
  line-height: 1.8;
  margin: 0;
  max-width: 370px;
}
.gallery-card-open {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: #2c7f8a;
  font-size: 11px;
  font-weight: 700;
  margin-top: 14px;
}
.gallery-card-open span {
  transition: transform .2s;
}
.gallery-card-link:hover .gallery-card-open span {
  transform: translate(2px, -2px);
}
.gallery-empty {
  padding: 40px 0;
  font-size: 15px;
  color: #597a7c;
}
.gallery-disclosure {
  margin: 56px 0 0;
  max-width: 820px;
  font-size: 12px;
  line-height: 1.8;
  color: #74888a;
}
.gallery-bottom {
  background: #f2f8f5;
  padding: 75px 0 115px;
}
.gallery-bottom-inner {
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: space-between;
}
.gallery-bottom h2 {
  margin: 9px 0 8px;
}
.gallery-bottom p {
  margin: 0;
  color: #6b8183;
  font-size: 13px;
  line-height: 1.8;
}
.gallery-bottom .btn {
  flex: none;
}
/* Individual gallery entry / optional editorial notes */
.entry-page {
  padding: 60px 0 145px;
}
.entry-breadcrumb {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #70898c;
  font-size: 12px;
  margin-bottom: 58px;
}
.entry-breadcrumb a:hover,
.entry-end a:hover,
.entry-back:hover {
  color: #2a8595;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.entry-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin: 0 0 48px;
}
.entry-heading > div {
  max-width: 820px;
}
.entry-heading h1 {
  font-size: clamp(54px, 7.5vw, 100px);
  margin: 16px 0 20px;
}
.entry-heading p {
  color: #688184;
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}
.entry-back {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
  color: #347987;
}
.entry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr);
  gap: clamp(32px, 5vw, 90px);
  align-items: start;
}
.entry-image-list {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 20px;
  min-width: 0;
}
.entry-image {
  margin: 0;
  background: #e7efed;
  min-width: 0;
}
.entry-image img {
  width: 100%;
  height: auto;
  max-height: 850px;
  object-fit: contain;
}
.entry-sidebar {
  padding-top: 14px;
}
.entry-label {
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: 700;
  font-size: 10px;
  color: #488d95;
  margin: 0 0 16px;
}
.entry-sidebar h2 {
  font: 500 35px/1.08 var(--serif);
  margin: 0 0 16px;
  color: #245b66;
}
.entry-sidebar > p:not(.entry-label),
.entry-story p {
  font-size: 13px;
  line-height: 1.9;
  color: #657f82;
}
.entry-story {
  margin-top: 30px;
}
.entry-story h2 {
  margin: 0 0 14px;
}
.entry-story p + p {
  margin-top: 15px;
}
.entry-source {
  font-size: 11px !important;
  color: #819092 !important;
  margin: 28px 0;
}
.entry-services {
  margin-top: 22px;
  font-size: 10px;
  white-space: normal;
}
.entry-end {
  margin-top: 52px;
  color: #347987;
  font-size: 12px;
  font-weight: 600;
}
@media (max-width: 980px) {
  .gallery-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px;}
  .entry-layout {grid-template-columns: minmax(0,1fr) minmax(240px,.8fr);gap: 32px;}
}
@media (max-width: 700px) {
  .gallery-intro {padding: 65px 0 52px;}
  .gallery-intro-inner {grid-template-columns: 1fr;gap: 18px;}
  .gallery-intro h1 {font-size: clamp(62px, 13vw, 88px);}
  .gallery-intro-inner > p {max-width: 550px;}
  .gallery-collection {padding: 40px 0 85px;}
  .gallery-toolbar {gap: 15px;margin-bottom: 24px;}
  .gallery-count {width: 100%;}
  .gallery-filters {gap: 7px;}
  .gallery-filter {padding: 10px 13px;font-size: 11px;}
  .gallery-grid {grid-template-columns: 1fr;gap: 31px;}
  .gallery-card-image,
  .gallery-card:nth-child(3n+2) .gallery-card-image {aspect-ratio: 4 / 4.4;}
  .gallery-card h2 {font-size: 37px;}
  .gallery-disclosure {margin-top: 42px;}
  .gallery-bottom {padding: 58px 0 104px;}
  .gallery-bottom-inner {align-items: start;flex-direction: column;}
  .entry-page {padding: 35px 0 110px;}
  .entry-breadcrumb {margin-bottom: 36px;}
  .entry-heading {flex-direction: column;align-items: start;gap: 20px;margin-bottom: 30px;}
  .entry-heading h1 {font-size: clamp(52px, 11.4vw, 78px);}
  .entry-layout {grid-template-columns: 1fr;gap: 28px;}
  .entry-sidebar {padding-top: 0;}
  .entry-image img {max-height: none;}
}
@media (prefers-reduced-motion: reduce) {
  .gallery-card-image img,
  .gallery-card-open span {transition: none;}
}

/* Professional gallery refinements; all card images share the same ratio. */
.gallery-grid { align-items: stretch; row-gap: clamp(28px,4vw,52px); }
.gallery-card { min-width:0; }
.gallery-card-image { width:100%; aspect-ratio:4/5 !important; border-radius:3px; }
.gallery-card-image img { object-fit:cover; object-position:center center; }
.gallery-card-info { padding:14px 0 0; }
.gallery-card-kicker { justify-content:flex-start; gap:14px; font-size:10px; letter-spacing:.105em; }
.gallery-card h2 { font-size:clamp(25px,2.4vw,31px); margin:8px 0 0; line-height:1.16; }
.gallery-card-open { margin-top:7px; font-size:12px; }
.gallery-card-info > p { display:none; }
.gallery-story-tag { color:#957c66; }
.gallery-intro { padding-top:clamp(60px,8vw,102px); padding-bottom:clamp(43px,6vw,70px); }
.gallery-intro h1 { font-size:clamp(65px,8vw,107px); }
.gallery-first-look { background:#f1f8f5; padding:clamp(62px,9vw,116px) 26px; text-align:center; position:relative; }
.gallery-first-look .eyebrow { color:#4c8a93; }
.gallery-first-look h2 { font:500 clamp(38px,5vw,62px)/1.05 var(--heading-face);color:#205766;letter-spacing:-.035em;margin:17px auto 13px; }
.gallery-first-look h2 em {color:#468c98;}
.gallery-first-look p { color:#597b7d; font-size:14px; line-height:1.85; max-width:480px; margin:0 auto 28px; }
.gallery-lightbox { width:min(95vw,1180px); height:min(93vh,900px); background:#f8fbf9; color:#205766; padding:14px 18px 20px; border:1px solid #d9e7e4; border-radius:4px; max-width:none; max-height:none; }
.gallery-lightbox::backdrop { background:rgba(13,36,41,.85); }
.gallery-lightbox-toolbar { display:flex; align-items:center;justify-content:space-between; gap:20px; font-size:15px; font-weight:600; }
.gallery-lightbox-toolbar button { border:0; background:transparent; padding:11px; color:#205766; cursor:pointer; font-size:13px; }
.gallery-lightbox-stage { height:calc(100% - 82px); display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:10px; }
.gallery-lightbox-stage button {border:1px solid #bed9d7;background:white;color:#205766;border-radius:50%;height:38px;width:38px; cursor:pointer;}
.gallery-lightbox-stage button[hidden] {visibility:hidden;display:block;}
.gallery-lightbox-stage figure {margin:0;min-width:0;min-height:0;max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;}
.gallery-lightbox-stage img { max-height:min(72vh,700px);height:auto;width:auto;max-width:100%;object-fit:contain; }
.gallery-lightbox-stage figcaption { color:#637f81; font-size:12px; line-height:1.4; margin-top:7px; text-align:center; }
.gallery-lightbox-count {font-size:11px;text-align:center;color:#688688;margin:3px 0 0;}
@media(max-width:700px){
 .gallery-card-image{ aspect-ratio:4/5 !important; }
 .gallery-card h2{font-size:25px;}
 .gallery-intro h1{font-size:clamp(59px,12vw,84px);}
 .gallery-lightbox{padding:10px;width:98vw;height:90vh;}
 .gallery-lightbox-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:2px;}
 .gallery-lightbox-stage button{width:29px;height:34px;}
}

/* Preserved styling / behaviour segment (original load order). */
/* Existing styling additions — original shoreline, header base, hero and services styles preserved. */
/* Navigation levels */
.hh-nav-dropdown{position:relative;min-width:0;color:var(--deep,#205766)}
.hh-nav-dropdown summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-size:inherit;font-weight:600}
.hh-nav-dropdown summary::-webkit-details-marker{display:none}
.hh-nav-dropdown summary span{font-size:13px;opacity:.75}
.hh-nav-submenu{position:absolute;z-index:80;top:calc(100% + 12px);left:-14px;min-width:215px;max-width:310px;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:7px;background:#f5fbf9;box-shadow:0 17px 44px rgba(28,61,65,.18);border:1px solid #d6e8e6}
.hh-nav-submenu a,.hh-nav-submenu summary{display:block;color:#235867;font-size:13px!important;padding:10px!important;text-decoration:none;white-space:normal}
.hh-nav-submenu .hh-nav-submenu{left:100%;top:0}
.hh-nav-submenu a:hover,.hh-nav-submenu summary:hover{background:#e6f3f1}
.mobile-menu .hh-nav-dropdown{width:100%}
.mobile-menu .hh-nav-submenu{position:static;box-shadow:none;max-width:none;min-width:0;width:100%;border:0;border-left:2px solid #a6d4d0;padding-left:14px;margin-left:12px;background:transparent}
.mobile-menu .hh-nav-dropdown summary{padding:12px 0}
/* Announcement above the header */
.hh-notice{position:relative;z-index:40;background:#286e79;color:white;padding:10px 0;font-size:13px}
.hh-notice .container{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.hh-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.hh-notice button{border:0;background:transparent;color:inherit;font-size:23px;cursor:pointer;line-height:1}
.hh-notice--urgent{background:#8c4e35}.hh-notice--subtle{background:#dbeeea;color:#245b66}
.hh-notice[hidden]{display:none}
/* Popup: avoid the old grid min-content collapse and excessive whitespace */
.gallery-lightbox.hh-lightbox{box-sizing:border-box;position:fixed;margin:auto;width:min(96vw,1020px);height:min(91dvh,840px);max-height:91dvh;max-width:96vw;padding:16px 18px 14px;overflow:hidden;background:#fbfcfa;border-radius:7px;box-shadow:0 28px 90px rgba(0,0,0,.26)}
.gallery-lightbox.hh-lightbox[open]{display:flex;flex-direction:column}
.hh-lightbox .gallery-lightbox-toolbar{flex:0 0 auto}
.hh-lightbox .gallery-lightbox-stage{display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:12px;height:auto;min-height:0;width:100%}
.hh-lightbox .gallery-lightbox-stage figure{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;max-width:100%;height:100%;gap:8px}
.hh-lightbox .gallery-lightbox-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(91dvh - 165px);object-fit:contain;flex:0 1 auto;min-width:0;min-height:0}
.hh-lightbox .gallery-lightbox-stage figcaption{flex:0 0 auto;max-width:70ch;overflow-wrap:anywhere}
.hh-lightbox .gallery-lightbox-stage button{flex:0 0 40px}
.hh-lightbox .gallery-lightbox-stage button[hidden]{visibility:hidden}
.hh-lightbox .gallery-lightbox-count{flex:0 0 auto;margin-top:6px}
/* Gallery filters */
.hh-gallery-controls{display:flex;gap:16px 24px;align-items:center;flex-wrap:wrap;margin-bottom:32px}
.hh-gallery-controls .gallery-filters{align-items:center}
.hh-tags-filter{display:flex;gap:9px;align-items:center;color:#486e75;font-size:13px}
.hh-tags-filter select{border:1px solid #bedad7;padding:9px 12px;border-radius:18px;background:#fff;max-width:190px;color:#235867}
.hh-gallery-controls .gallery-count{margin-left:auto}
/* Article: content-first instead of full-height sidebar with blank areas */
.hh-article .entry-heading{margin-bottom:34px}
.hh-article-content{max-width:1150px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.hh-article-story{max-width:850px;margin:0 auto;width:100%;color:#536e73}
.hh-rich-text{font-size:clamp(14px,1.35vw,16px);line-height:1.9}
.hh-rich-text p{margin:0 0 15px}.hh-rich-text h2{font:500 39px/1.15 var(--serif);color:#205766;margin:22px 0 14px}.hh-rich-text h3{font:500 30px/1.15 var(--serif);color:#205766}
.hh-rich-text ul{margin:15px 0;padding-left:23px}.hh-rich-text blockquote{border-left:3px solid #8bc8c5;padding:12px 20px;background:#eef7f5;margin:18px 0}
.hh-rich-text a{color:#216b79;text-decoration:underline}.hh-rich-text .article-inline-photo{margin:18px 0}.hh-rich-text .article-inline-photo img{max-height:580px;width:auto;max-width:100%;height:auto}
.hh-article-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.hh-article-photos figure{min-width:0;margin:0;background:#e7f0ed;display:flex;flex-direction:column}
.hh-article-photos img{display:block;width:100%;height:auto;max-height:740px;object-fit:contain}
.hh-article-photos figcaption{padding:8px 12px;color:#71878b;font-size:11px;background:#fffefa}
.hh-article--editorial .hh-article-content{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:42px}
.hh-article--editorial .hh-article-photos{grid-template-columns:1fr}
.hh-article--feature-grid .hh-article-photos figure:first-child{grid-column:1/-1;max-height:none}
.hh-article--feature-grid .hh-article-photos figure:first-child img{max-height:850px}
.hh-article--alternating .hh-article-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.hh-article--alternating .hh-article-photos{display:contents}
.hh-article--alternating .hh-article-photos figure:nth-child(2n){transform:translateY(24px)}
.hh-article--alternating .hh-article-story{grid-column:1/-1;max-width:850px}
.hh-article-actions{margin:48px auto 0;display:flex;align-items:center;gap:28px;flex-wrap:wrap;color:#287486;font-size:13px}
/* Conditional home news */
.hh-home-news{padding:80px 0 95px;background:#f2f8f6}.hh-news-heading{margin-bottom:28px}
.hh-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hh-news-card{background:#fff;min-width:0;border-radius:4px;overflow:hidden;box-shadow:0 5px 24px rgba(19,78,85,.06)}
.hh-news-card a{display:block;padding:0 22px 24px}.hh-news-card img{display:block;width:calc(100% + 44px);margin-left:-22px;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.hh-news-card span{font-size:11px;color:#648588}.hh-news-card h3{font:500 31px/1.1 var(--serif);color:#245e69;margin:8px 0}.hh-news-card p{font-size:13px;line-height:1.7;color:#657e80}.hh-news-card strong{font-size:12px;color:#287486}
@media(max-width:840px){.hh-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-article--editorial .hh-article-content{grid-template-columns:1fr}.hh-lightbox .gallery-lightbox-stage button{flex-basis:30px}}
@media(max-width:600px){.hh-article-photos{grid-template-columns:1fr}.hh-article--feature-grid .hh-article-photos figure:first-child{grid-column:auto}.hh-article--alternating .hh-article-content{display:flex}.hh-article--alternating .hh-article-photos{display:grid;grid-template-columns:1fr}.hh-article--alternating .hh-article-photos figure:nth-child(2n){transform:none}.hh-news-grid{grid-template-columns:1fr}.hh-lightbox.gallery-lightbox{width:98vw;height:92dvh;max-width:98vw;padding:9px}.hh-lightbox .gallery-lightbox-stage{gap:2px}.hh-lightbox .gallery-lightbox-stage button{flex-basis:28px}.hh-lightbox .gallery-lightbox-stage img{max-height:calc(92dvh - 145px)}.hh-gallery-controls .gallery-count{margin-left:0}}

.hh-gallery-captioned .gallery-card-info{padding:17px 16px 20px;background:#f2f8f6;border:1px solid #e2efec}.hh-seo-preview{max-width:190px;border-radius:4px}

/* Content-height popup: landscape photographs must not create tall blank white panels. */
.gallery-lightbox.hh-lightbox{height:fit-content;max-height:91dvh}
.hh-lightbox .gallery-lightbox-stage{flex:0 1 auto;min-height:0}
.hh-lightbox .gallery-lightbox-stage figure{height:auto;min-height:0}
.hh-lightbox .gallery-lightbox-stage img{max-height:calc(91dvh - 145px)}
@media(max-width:600px){
  .hh-lightbox.gallery-lightbox{height:fit-content;max-height:92dvh}
  .hh-lightbox .gallery-lightbox-stage img{max-height:calc(92dvh - 140px)}
}

/* Preserved styling / behaviour segment (original load order). */
/* Additional styling; original frontend styles remain untouched. */
.hh-sponsor-logos{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:15px;max-width:410px}
.hh-sponsor-logos a{display:inline-flex;align-items:center;justify-content:center}
.hh-sponsor-logos img{display:block;max-width:100%;object-fit:contain}
@media(max-width:580px){.hh-sponsor-logos{gap:10px;justify-content:flex-start}}

/* Preserved styling / behaviour segment (original load order). */
/* Optional styling. Existing website and sea-glass shoreline retained. */
.hero .hh-feature-copy p{margin:0;color:inherit;font:inherit;line-height:inherit}
.hero .hh-feature-copy p+p{margin-top:.65em}
.hero .hh-feature-copy ul{text-align:left;max-width:500px;margin:.4em auto 1em}
.hero .hh-feature-copy a{color:inherit;text-decoration:underline}
.hero .hero-message {color:var(--hh-msg-ink,#205766)}
.hero .hh-message-logo{width:min(245px,70%);height:auto;margin:.5rem auto;display:block}
.hero .hero-message[style*="left"] .hero-actions{justify-content:flex-start}
.hero-caption[hidden]{display:none!important}
.hh-bio-rich p{margin-bottom:.7rem}.hh-bio-rich ul{padding-left:1.3em}
.hh-reviews{padding:clamp(70px,9vw,112px) 0;background:#f0f8f6}
.hh-review-heading{text-align:center;max-width:660px;margin:0 auto 30px}
.hh-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hh-review-card{margin:0;background:#fffefa;padding:27px;border:1px solid rgba(32,87,102,.12);border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.hh-review-card p{margin:0;line-height:1.75;color:#244e58}.hh-review-card footer{display:flex;flex-wrap:wrap;gap:8px;color:#205766;font-size:.85rem}.hh-review-card footer small{opacity:.7}
.hh-reviews-source{text-align:center;margin:26px auto 0}.hh-reviews-source a{color:#205766;text-underline-offset:4px}
.hh-entry-metadata{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:3px 0 21px;color:#205766}
.hh-entry-metadata .entry-label{margin:0}.hh-entry-date{font-size:.75rem;letter-spacing:.05em;color:#697f82}
.hh-entry-tags{display:flex;flex-wrap:wrap;gap:6px;width:100%}.hh-entry-tags span{border:1px solid #dce7e3;padding:3px 9px;color:#607b7d;font-size:.69rem;border-radius:20px}
.hh-footer-message p{margin:0 0 .65em}.hh-footer-message a{color:inherit}
@media(max-width:760px){.hh-review-grid{grid-template-columns:1fr}.hh-review-card{padding:21px}}

/* Styling options affect only edited messages; defaults inherit original design. */
.hero .hero-copy-inner[data-custom-opacity="1"]{background:rgba(255,255,255,var(--hh-active-opacity,.35))!important}
.hero .hero-message[data-custom-colour="1"] h1,.hero .hero-message[data-custom-colour="1"] .eyebrow,.hero .hero-message[data-custom-colour="1"] .hero-desc{color:var(--hh-msg-ink)!important}
.hh-hero-post-image{max-width:220px;max-height:105px;object-fit:cover;margin:5px auto 10px;border-radius:4px}
.hh-gallery-intro-rich p{margin:0}.hh-gallery-intro-rich p+p{margin-top:.8em}

/* V2.9.2 — Buttons only on gallery listing, never on the homepage post cards. */
.gallery-page .gallery-card{position:relative}
.gallery-page .hh-gallery-card-controls{position:absolute;z-index:4;top:0;left:0;right:0;aspect-ratio:var(--hh-gallery-card-ratio,4/5);display:flex;align-items:center;justify-content:space-between;pointer-events:none;padding:0 9px}
/* V2.9.3: visually quiet overlays, while preserving 44px keyboard/touch targets. */
.gallery-page .hh-gallery-card-controls button{pointer-events:auto;position:relative;display:grid;place-items:center;isolation:isolate;min-width:44px;min-height:44px;border:0;padding:0;background:transparent;color:#fff;font:400 23px/1 Georgia,serif;cursor:pointer;text-shadow:0 1px 4px rgba(4,34,39,.72);opacity:.72;transition:opacity .2s ease}
.gallery-page .hh-gallery-card-controls button::before{content:"";position:absolute;z-index:-1;top:50%;left:50%;width:30px;height:30px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.54);border-radius:50%;background:rgba(19,68,78,.25);box-shadow:0 2px 9px rgba(0,0,0,.10);transition:background .2s ease,border-color .2s ease}
.gallery-page .hh-gallery-card-controls button:hover,.gallery-page .hh-gallery-card-controls button:focus-visible,.gallery-page .gallery-card:hover .hh-gallery-card-controls button,.gallery-page .gallery-card:focus-within .hh-gallery-card-controls button{opacity:1}
.gallery-page .hh-gallery-card-controls button:hover::before,.gallery-page .hh-gallery-card-controls button:focus-visible::before{background:rgba(13,58,68,.75);border-color:rgba(255,255,255,.9)}
.gallery-page .hh-gallery-card-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:50%}
.gallery-page .hh-gallery-card-controls [data-card-photo-count]{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:20px;color:rgba(255,255,255,.93);background:rgba(13,58,68,.52);box-shadow:0 1px 4px rgba(0,0,0,.12);font:500 10px/1.2 'DM Sans',sans-serif;letter-spacing:.03em}
@media(hover:none),(pointer:coarse){.gallery-page .hh-gallery-card-controls button{opacity:1}.gallery-page .hh-gallery-card-controls button::before{background:rgba(19,68,78,.40)}}
@media(prefers-reduced-motion:reduce){.gallery-page .hh-gallery-card-controls button,.gallery-page .hh-gallery-card-controls button::before{transition:none}}

/* Keep arrow overlay proportional to the selected gallery card ratio. */
.gallery-page .gallery-card-image{aspect-ratio:var(--hh-gallery-card-ratio,4/5) !important}

/* V2.9.4: align story copy with the article's left edge, keeping readable line length. */
.hh-article-story,.hh-article--alternating .hh-article-story{margin-left:0;margin-right:0}
.hh-article-actions{margin-left:0;margin-right:0}
.hh-rich-text .hh-story-button{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;margin:9px 0;padding:11px 20px;border-radius:4px;background:var(--deep,#205766);border:1px solid var(--deep,#205766);color:#fff;text-decoration:none;font:600 13px/1.45 'DM Sans',sans-serif}
.hh-rich-text .hh-story-button:hover{background:#287585;color:#fff}
.hh-rich-text .hh-story-button:focus-visible{outline:3px solid #45979f;outline-offset:3px}
