/* v8: AI concept, original laurel metrics and a compact consultation card. */
.hero-showcase { display: block; }
.hero-showcase > .hero-stage { height: clamp(580px,44vw,720px); min-height: 0; }
.hero-showcase .concept-slide .hero-photo { object-position: 50% 50%; }
.hero-showcase .hero-slide figcaption {
  top: 24px; bottom: auto; left: 44px; max-width: calc(100% - 88px);
  background: #ffffffeb; color: #274258; border: 1px solid #e0e6e9;
  font-size: 12px; letter-spacing: .015em; padding: 9px 13px;
}
.hero-showcase .hero-slide figcaption > span { font-size: 9px; letter-spacing: .12em; color: #6c7b84; }
.hero-showcase .hero-slide figcaption > .concept-disclosure { display: inline; margin: 0; font: inherit; letter-spacing: inherit; color: inherit; }
.concept-disclosure::before { content: '・'; }
.hero-trust { position: absolute; z-index: 3; bottom: 20px; left: 6%; right: 6%; }
.hero-trust .trust-badges { grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(12px,2.4vw,38px); max-width: 1100px; margin: auto; }
.hero-trust .trust-badge {
  min-height: 180px; padding: 29px 22px 24px; isolation: isolate;
  background: none; border-radius: 0;
}
.hero-trust .trust-badge::before {
  inset: 9px 20px; width: auto; border: 0; border-radius: 50%;
  background: #fffffff0; box-shadow: 0 5px 25px #193c5110; z-index: -2;
}
.hero-trust .trust-badge::after {
  inset: 0; width: auto; border: 0; border-radius: 0;
  background: url('/assets/trust-laurel.svg') center/100% 100% no-repeat; z-index: -1;
}
.hero-trust .trust-badge dt { font-size: 14px; line-height: 1.6; letter-spacing: .015em; }
.hero-trust .trust-value { margin: 10px 0 10px; gap: 5px; white-space: nowrap; }
.hero-trust .trust-value strong { font-size: clamp(40px,3.6vw,54px); font-weight: 550; line-height: 1; }
.hero-trust .trust-value > span { font-size: 16px; color: #92723e; }
.hero-trust .trust-area .trust-value strong { font-size: clamp(32px,2.9vw,43px); }
.hero-trust [data-target] { display: inline-block; text-align: right; }
.hero-trust [data-target="98"] { width: 2ch; }
.hero-trust [data-target="500"] { width: 3ch; }
.hero-trust [data-target="30000"] { width: 6ch; }
.hero-trust .trust-owner { font-size: 12px; line-height: 1.65; color: #40596a; min-height: 36px; }
.hero-trust .trust-owner small { display: block; font-size: 11px; line-height: 1.6; }
.hero .trust-notes { margin-top: 14px; text-align: left; font-size: 12px; line-height: 1.8; color: #627380; }


@media(max-width:1100px) {
  .hero-trust { left: 3%; right: 3%; }
  .hero-trust .trust-badges { gap: 8px; }
  .hero-trust .trust-badge { padding-inline: 15px; min-height: 172px; }
  .hero-trust .trust-badge dt { font-size: 12px; }
  .hero-trust .trust-value strong { font-size: 40px; }
  .hero-trust .trust-area .trust-value strong { font-size: 32px; }
  .hero-trust .trust-owner { font-size: 10px; }
  .hero-trust .trust-owner small { font-size: 10px; }
  }
@media(max-width:960px) {
  .hero-showcase > .hero-stage { height: 540px; }
  .hero-showcase .concept-slide .hero-photo { object-position: 45% center; }
  .hero-trust { left: 2%; right: 2%; bottom: 22px; }
  .hero-trust .trust-badge { min-height: 154px; padding: 24px 12px 18px; }
  .hero-trust .trust-badge::before { inset: 9px 12px; }
  .hero-trust .trust-value strong { font-size: 34px; }
  .hero-trust .trust-area .trust-value strong { font-size: 27px; }
  .hero-trust .trust-value > span { font-size: 12px; }
  .hero-trust .trust-badge dt { font-size: 11px; }
  .hero-trust .trust-owner { font-size: 10px; }
  .hero-trust .trust-owner small { font-size: 10px; }
  .hero .trust-notes { font-size: 12px; }
  }
@media(max-width:600px) {
  .hero-showcase > .hero-stage { height: 620px; margin-left: 10px; margin-right: 10px; clip-path: polygon(6% 0,100% 0,100% 100%,0 100%,0 4%); }
  .hero-showcase .concept-slide .hero-photo { object-position: 42% center; }
  .hero-showcase .hero-slide figcaption { left: 15px; top: 16px; max-width: calc(100% - 30px); font-size: 11px; line-height: 1.65; padding: 7px 10px; }
  .hero-showcase .hero-slide figcaption > span { font-size: 8px; margin-bottom: 2px; }
  .hero-showcase .hero-slide figcaption > .concept-disclosure { display: block; }
  .concept-disclosure::before { content: none; }
  .hero-trust { left: 10px; right: 10px; bottom: 16px; }
  .hero-trust .trust-badges { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 8px; }
  .hero-trust .trust-badge { min-height: 139px; padding: 22px 13px 16px; }
  .hero-trust .trust-badge::before { inset: 5px 10px; }
  .hero-trust .trust-badge dt { font-size: 11px; }
  .hero-trust .trust-value { margin: 7px 0; gap: 3px; }
  .hero-trust .trust-value strong { font-size: 35px; }
  .hero-trust .trust-area .trust-value strong { font-size: 28px; }
  .hero-trust .trust-value > span { font-size: 12px; }
  .hero-trust .trust-owner { font-size: 10px; min-height: 32px; }
  .hero-trust .trust-owner small { font-size: 10px; }
  .hero .trust-notes { margin-top: 12px; font-size: 12px; }
  }
@media(max-width:360px) {
  .hero-showcase > .hero-stage { height: 600px; }
  .hero-trust { left: 5px; right: 5px; bottom: 13px; }
  .hero-trust .trust-badges { gap: 6px; }
  .hero-trust .trust-badge { min-height: 133px; padding: 20px 9px 14px; }
  .hero-trust .trust-badge dt { font-size: 10px; }
  .hero-trust .trust-value strong { font-size: 29px; }
  .hero-trust .trust-area .trust-value strong { font-size: 24px; }
  .hero-trust .trust-value > span { font-size: 11px; }
  .hero-trust .trust-owner { font-size: 10px; }
  .hero-trust .trust-owner small { font-size: 10px; }
  }

/* Both overlays are children of the image stage, never separate sections. */
.hero-showcase > .hero-stage { height: 740px; }
.hero-stage > .consultation-entry {
  position: absolute; top: 48px; right: 5.5%; bottom: auto;
  width: 380px; margin: 0; padding: 23px 24px 19px;
  background: #ffffffed; border: 1px solid #ddd8cc; border-top: 2px solid #b49560;
  box-shadow: 0 14px 38px #17334b16; border-radius: 3px;
}
.hero-stage .entry-eyebrow { display: block; font-size: 10px; margin: 0 0 9px; }
.hero-stage .consultation-entry h2 { font-size: 23px; line-height: 1.45; letter-spacing: -.035em; }
.hero-stage .entry-description { font-size: 14px; line-height: 1.8; color: #526773; margin: 14px 0 18px; }
.hero-stage .entry-description > span { display: block; color: #1d3a50; font-weight: 500; margin-bottom: 3px; }
.hero-stage .entry-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.hero-stage .entry-links a { display: flex; align-items: center; justify-content: space-between; gap: 2px; padding: 10px 8px; border: 1px solid #d5dfe4; min-height: 64px; background: #f7f9fa; }
.hero-stage .entry-links a > span:first-child { display: block; }
.hero-stage .entry-links strong { font-size: 18px; }
.hero-stage .entry-links small { display: block; font-size: 12px; line-height: 1.5; }
.hero-stage .entry-links a > span:last-child { color: #9a7d47; font-size: 16px; }
.hero-stage .entry-links a:hover { border-color: #b49560; background: #f6f2e9; }
.hero-stage .entry-cta { display: flex; justify-content: space-between; align-items: center; min-height: 48px; gap: 8px; margin-top: 14px; padding: 12px 14px; background: #14364f; color: #fff; font-size: 15px; font-weight: 500; letter-spacing: .01em; }
.hero-stage .entry-cta:hover { background: #224c68; }
.hero-stage .entry-cta > span { color: #dec89b; }
.hero-stage .entry-note { font-size: 12px; line-height: 1.8; margin: 11px 0 0; color: #65747d; }
.hero-trust { bottom: 24px; }
@media(min-width:961px) and (max-width:1100px) {
  .hero-stage > .consultation-entry { right: 4%; width: 350px; padding-inline: 20px; }
  .hero-stage .consultation-entry h2 { font-size: 21px; }
  .hero-showcase .concept-slide .hero-photo { object-position: 32% center; }
}
@media(max-width:960px) {
  .hero-showcase > .hero-stage { height: auto; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 390px 28px 28px; clip-path: polygon(3% 0,100% 0,100% 100%,0 100%,0 3%); }
  .hero-showcase .concept-slide .hero-photo { object-position: 42% center; }
  .hero-trust { position: relative; left: auto; right: auto; bottom: auto; width: 100%; }
  .hero-stage > .consultation-entry { position: relative; top: auto; right: auto; width: min(100%,600px); padding: 22px; }
  .hero-stage .entry-description { margin: 10px 0 14px; }
  .hero-stage .entry-description > span { display: inline; margin-right: .4em; }
  .hero-stage .entry-links a > span:first-child { display: flex; align-items: baseline; gap: 5px; }
  .hero-stage .entry-links a { min-height: 48px; padding: 8px 12px; }
  .hero-stage .entry-links small { display: inline; }
}
@media(max-width:600px) {
  .hero-showcase > .hero-stage { height: auto; padding: 370px 10px 18px; margin-inline: 10px; gap: 16px; }
  .hero-showcase .concept-slide .hero-photo { object-position: 42% center; }
  .hero-showcase .concept-slide > .hero-photo { position: relative; top: -160px; height: calc(100% + 160px); }
  .hero-trust .trust-badge { min-height: 136px; padding: 20px 10px 14px; }
  .hero-stage > .consultation-entry { width: 100%; padding: 18px 14px 15px; }
  .hero-stage .consultation-entry h2 { font-size: 21px; }
  .hero-stage .entry-eyebrow { font-size: 10px; margin-bottom: 7px; }
  .hero-stage .entry-description { font-size: 14px; line-height: 1.7; margin: 12px 0; }
  .hero-stage .entry-description > span { display: block; margin: 0 0 3px; }
  .hero-stage .entry-links { gap: 5px; }
  .hero-stage .entry-links a { min-height: 62px; padding: 8px 7px; }
  .hero-stage .entry-links a > span:first-child { display: block; }
  .hero-stage .entry-links strong { font-size: 18px; }
  .hero-stage .entry-links small { display: block; font-size: 11px; }
  .hero-stage .entry-cta { font-size: 14px; padding-inline: 12px; margin-top: 12px; }
  .hero-stage .entry-note { font-size: 12px; margin-top: 10px; }
}
@media(max-width:360px) {
  .hero-showcase > .hero-stage { padding: 370px 7px 14px; }
  .hero-trust .trust-badge { padding-inline: 5px; min-height: 130px; }
  .hero-trust .trust-owner small { font-size: 10px; letter-spacing: -.05em; }
  .hero-stage > .consultation-entry { padding-inline: 12px; }
  .hero-stage .consultation-entry h2 { font-size: 20px; text-wrap: balance; }
  .hero-stage .entry-links a { padding-inline: 6px; }
  .hero-stage .entry-links a > span:last-child { font-size: 13px; }
  .hero-stage .entry-links strong { font-size: 17px; }
  .hero-stage .entry-links small { font-size: 11px; }
}

/* v8.1: concise badges; evidence and attribution stay visible below the image. */
.hero-trust .badge-note { font-size: 9px; line-height: 1; margin-left: 3px; color: #795d2e; vertical-align: super; }
.hero .trust-notes { margin-top: 18px; padding: 20px 24px; background: #f5f7f8; border-left: 2px solid #b49560; color: #455d6c; font-size: 14px; line-height: 1.9; }
.hero .trust-notes h2 { font-size: 16px; line-height: 1.7; letter-spacing: .02em; margin-bottom: 9px; color: #183b53; }
.hero .trust-notes p + p { margin-top: 8px; }
.hero .trust-notes strong { font-weight: 500; color: #243f51; }
@media(max-width:960px) {
  /* Focusing an overlay link must not scroll the clipped photograph itself. */
  .hero-showcase > .hero-stage { overflow: clip; }
}
@media(max-width:600px) {
  .hero-trust .trust-badge { width: 88%; justify-self: center; min-height: 119.68px; height: 119.68px; padding: 17px 7px 14px; }
  .hero-trust .trust-badge::before { inset: 5px 8px; }
  .hero-trust .trust-value { margin: 7px 0 0; }
  .hero .trust-notes { padding: 17px 16px; font-size: 14px; line-height: 1.85; }
  .hero .trust-notes h2 { font-size: 15px; }
}
@media(max-width:360px) {
  .hero-trust .trust-badge { min-height: 114.4px; height: 114.4px; padding: 16px 5px 13px; }
  .hero-trust .badge-note { font-size: 8px; margin-left: 2px; }
}
