/* STRH Featured Hero 1.1.0: scoped component, ready for site-wide design tokens. */
.strh-fh {
  --strh-fh-ink: var(--strh-color-ink, #16231d);
  --strh-fh-green: var(--strh-color-primary, #3c6d43);
  --strh-fh-accent: var(--strh-color-accent, #c1f16c);
  --strh-fh-radius: var(--strh-radius-card, 10px);
  --strh-fh-height: clamp(355px, 35vw, 465px);
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: clamp(10px, 1.3vw, 18px);
  width: min(100%, var(--strh-container-wide, 1170px));
  margin: 12px auto 28px;
  height: var(--strh-fh-height);
  font-family: var(--strh-font-body, inherit);
  line-height: 1.4;
  box-sizing: border-box;
}
.strh-fh *, .strh-fh *::before, .strh-fh *::after { box-sizing: border-box; }
.strh-fh__card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--strh-fh-radius);
  background: var(--strh-fh-ink);
  text-decoration: none !important;
  isolation: isolate;
  box-shadow: 0 2px 14px rgb(0 0 0 / .07);
}
.strh-fh__card:focus-visible { outline: 3px solid var(--strh-fh-green); outline-offset: 3px; }
.strh-fh__visual { position: absolute; inset: 0; overflow: hidden; display: block; z-index: 0; }
.strh-fh__image { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--strh-fh-object-position, 50% 50%); transition:transform .35s ease; }
.strh-fh__card:hover .strh-fh__image { transform: scale(1.025); }
.strh-fh__card--lead { height: 100%; display:flex; flex-direction:column; justify-content:flex-end; }
.strh-fh__card--lead::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgb(11 24 16 / .04) 18%, rgb(11 24 16 / .4) 50%, rgb(11 24 16 / .92) 100%); }
.strh-fh__card--lead .strh-fh__body { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:clamp(18px, 3.6vw, 38px); color:#fff; }
.strh-fh__eyebrow { display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:var(--strh-fh-accent); font-weight:800; font-family:var(--strh-font-body, inherit); font-size:11px; letter-spacing:.09em; line-height:1.3; text-transform:uppercase; }
.strh-fh__duration { letter-spacing:0; font-weight:600; }
.strh-fh__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; font-family:var(--strh-font-heading, Georgia, serif); font-size:clamp(25px, 3.15vw, 41px); font-weight:700; letter-spacing:-.025em; line-height:1.11; color:inherit; }
.strh-fh__deck { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; font-size:clamp(13px, 1.14vw, 16px); font-weight:400; line-height:1.5; color:rgb(255 255 255 / .9); max-width:65ch; }
.strh-fh__cta { display:inline-block; margin-top:7px; padding:9px 15px; font-size:12px; font-weight:750; line-height:1.3; border-radius:5px; background:var(--strh-fh-accent); color:#19271d; }
.strh-fh__card:hover .strh-fh__cta { filter:brightness(.95); }
.strh-fh__secondary { min-height:0; display:grid; grid-template-rows:repeat(2, minmax(0, 1fr)); gap:clamp(10px, 1.3vw, 18px); }
.strh-fh__card--side { background:var(--strh-color-card, #f3f4ee); color:var(--strh-fh-ink); display:grid; grid-template-columns:39% minmax(0, 1fr); align-items:stretch; }
.strh-fh__card--side .strh-fh__visual { position:relative; inset:auto; height:100%; min-width:0; z-index:0; background:var(--strh-fh-green); }
.strh-fh__card--side .strh-fh__body { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:9px; padding:clamp(12px, 1.6vw, 20px); }
.strh-fh__card--side .strh-fh__eyebrow { color:var(--strh-fh-green); font-size:10px; }
.strh-fh__card--side .strh-fh__title { font-size:clamp(15px, 1.42vw, 21px); line-height:1.2; -webkit-line-clamp:3; line-clamp:3; color:var(--strh-fh-ink); }
.strh-fh__card--side .strh-fh__deck { font-size:clamp(11px, 1vw, 13px); line-height:1.4; color:#46554c; -webkit-line-clamp:2; line-clamp:2; }
.strh-fh--count-1 { display:block; }
.strh-fh--count-1 .strh-fh__card--lead { width:100%; }
.strh-fh--count-2 .strh-fh__secondary { grid-template-rows:1fr; }
@media(max-width:960px) {
  .strh-fh { --strh-fh-height:390px; grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr); }
  .strh-fh__card--side { grid-template-columns:35% minmax(0,1fr); }
  .strh-fh__card--side .strh-fh__deck { display:none; }
}
@media(max-width:700px) {
  .strh-fh { width:100%; height:auto; display:flex; flex-direction:column; margin-block:12px 26px; }
  .strh-fh__card--lead { min-height:315px; }
  .strh-fh__card--lead .strh-fh__title { font-size:clamp(26px, 7vw, 35px); }
  .strh-fh__secondary { display:flex; flex-direction:column; }
  .strh-fh__card--side { min-height:130px; grid-template-columns:35% minmax(0,1fr); }
  .strh-fh__card--side .strh-fh__title { font-size:17px; }
  .strh-fh__card--side .strh-fh__deck { display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; }
}
@media(max-width:380px) {
  .strh-fh__card--side { grid-template-columns:32% minmax(0,1fr); min-height:125px; }
  .strh-fh__card--side .strh-fh__deck { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .strh-fh__image { transition:none; }
  .strh-fh__card:hover .strh-fh__image { transform:none; }
}

/* v1.0.1 — Temporary homepage wrapper compatibility.
 * The existing homepage (page 46) retains 64px of mobile top padding
 * from its pre-hero Otter Blocks election layout. Correct the wrapper
 * rather than offsetting the hero with negative margins. Remove this
 * shim when StrongRH 2.0 replaces that legacy page container.
 * It changes mobile only; desktop card dimensions remain untouched.
 */
@media (max-width:700px) {
  body.page-id-46 #wp-block-themeisle-blocks-advanced-columns-1d18dda4 {
    padding-top:12px !important;
  }
  body.page-id-46 .strh-fh {
    margin-top:0;
  }
}
