/* Signature hero system — carries the homepage visual identity across internal pages. */

:root{
  --hero-shell:1280px;
  --hero-content-bottom:42px;
  --hero-content-bottom-tablet:38px;
  --hero-content-bottom-mobile:28px;
}

/* Shared internal-page hero */
.subpage-hero{position:relative;min-height:780px;height:min(84vh,860px);padding:0!important;display:flex;align-items:flex-end;overflow:hidden;background:var(--ml-ink);color:#fff}
.subpage-hero__grid{position:relative;width:100%!important;max-width:none!important;min-height:100%;margin:0!important;display:block!important;padding:0!important}
.subpage-hero__visual{position:absolute!important;inset:0!important;z-index:0;margin:0!important;min-height:0!important;border-radius:0!important;overflow:hidden;background:var(--ml-ink)}
.subpage-hero__visual>img{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover;object-position:center 35%;display:block}
.subpage-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,17,.88) 0%,rgba(7,20,17,.64) 45%,rgba(7,20,17,.24) 76%),linear-gradient(0deg,rgba(7,20,17,.44),transparent 52%);z-index:1}
.subpage-hero__copy{position:absolute;z-index:3;left:max(32px,calc((100vw - var(--hero-shell))/2));bottom:var(--hero-content-bottom);max-width:760px;padding:0!important;color:#fff}
.subpage-hero__copy .clean-label{color:#ead59b!important;margin-bottom:18px}
.subpage-hero__copy h1{margin:0!important;max-width:760px;font-size:clamp(3.1rem,5.65vw,5.9rem)!important;line-height:.96!important;letter-spacing:-.055em!important;color:#fff!important;font-weight:850!important}
.subpage-hero__copy h1 span{color:#e6c874!important}
.subpage-hero__copy>p:not(.clean-label){max-width:690px;margin:23px 0 0!important;color:#eef3f1!important;font-size:1rem!important;line-height:1.68!important}
.subpage-hero__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px!important}
.subpage-hero__actions .clean-button--dark{background:var(--ml-gold);color:#fff}
.subpage-hero__actions .clean-text-link{margin-top:0;color:#fff!important;border-color:rgba(255,255,255,.52)!important}
.subpage-tags{margin-top:26px!important}
.subpage-tags span{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);color:#fff!important}
.subpage-hero__visual figcaption{position:absolute!important;z-index:3;left:auto!important;right:max(32px,calc((100vw - var(--hero-shell))/2))!important;bottom:var(--hero-content-bottom)!important;width:min(365px,calc(100vw - 64px));display:block!important;padding:26px 27px!important;border:1px solid rgba(255,255,255,.26);border-radius:22px!important;background:rgba(13,31,25,.34)!important;box-shadow:none!important;backdrop-filter:blur(16px);color:#fff}
.subpage-hero__visual figcaption strong{display:block;margin-bottom:9px;color:#fff!important;font-size:1.16rem!important;line-height:1.2}
.subpage-hero__visual figcaption span{display:block;color:#dbe6e2!important;font-size:.8rem!important;line-height:1.55}

/* Expertise-detail hero — same signature, with a compact facts rail below */
.service-detail-hero{padding:0!important;background:#fff!important;overflow:hidden}
.service-detail-hero__grid{position:relative;width:100%!important;max-width:none!important;min-height:820px;margin:0!important;display:block!important;overflow:hidden;background:var(--ml-ink)}
.service-detail-hero__visual{position:absolute!important;inset:0!important;z-index:0;min-height:0!important;margin:0!important;border-radius:0!important;overflow:hidden}
.service-detail-hero__visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%;display:block;transform:none!important}
.service-detail-hero__visual::after{content:"";position:absolute;inset:0!important;background:linear-gradient(90deg,rgba(7,20,17,.9) 0%,rgba(7,20,17,.66) 45%,rgba(7,20,17,.24) 76%),linear-gradient(0deg,rgba(7,20,17,.44),transparent 52%)!important;z-index:1}
.service-detail-hero__copy{position:absolute;z-index:3;left:max(32px,calc((100vw - var(--hero-shell))/2));bottom:var(--hero-content-bottom);max-width:760px;padding:0!important;color:#fff}
.service-detail-back{margin-bottom:28px!important;color:#d9e4e0!important}
.service-detail-back:hover{color:#fff!important}
.service-detail-hero__copy .clean-label{color:#ead59b!important}
.service-detail-hero__copy h1{margin:0!important;max-width:740px;color:#fff!important;font-size:clamp(3.1rem,5.5vw,5.7rem)!important;line-height:.95!important;letter-spacing:-.056em!important}
.service-detail-hero__promise{max-width:660px!important;margin:22px 0 10px!important;color:#fff!important;font-size:clamp(1.14rem,1.55vw,1.42rem)!important}
.service-detail-hero__summary{max-width:660px!important;color:#e4ece9!important}
.service-detail-hero__actions{margin-top:28px!important}
.service-detail-hero__actions .clean-button--dark{background:var(--ml-gold);color:#fff}
.service-detail-hero__actions .clean-text-link{color:#fff!important;border-color:rgba(255,255,255,.5)!important}
.service-detail-hero__visual figcaption{position:absolute!important;z-index:3;left:auto!important;right:max(32px,calc((100vw - var(--hero-shell))/2))!important;bottom:var(--hero-content-bottom)!important;width:min(360px,calc(100vw - 64px));padding:25px 26px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:22px!important;background:rgba(13,31,25,.34)!important;box-shadow:none!important;backdrop-filter:blur(16px)}
.service-detail-hero__visual figcaption span{color:#ead59b!important}
.service-detail-hero__visual figcaption strong{color:#fff!important;font-size:.92rem!important;line-height:1.52}
.service-detail-facts{margin-top:0!important;border-top:1px solid var(--ml-line)!important;border-radius:0 0 24px 24px!important}

/* Publication detail hero */
.article-clean-hero{position:relative;min-height:780px;height:min(84vh,860px);padding:0!important;display:flex;align-items:flex-end;overflow:hidden;background:var(--ml-ink);color:#fff}
.article-clean-hero__grid{position:relative;width:100%!important;max-width:none!important;min-height:100%;margin:0!important;display:block!important;padding:0!important}
.article-clean-hero__visual{position:absolute!important;inset:0!important;z-index:0;margin:0!important;min-height:0!important;border-radius:0!important;overflow:hidden;background:var(--ml-ink)}
.article-clean-hero__visual img{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;object-fit:cover;object-position:center 38%;display:block}
.article-clean-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,17,.9),rgba(7,20,17,.58) 48%,rgba(7,20,17,.22) 78%),linear-gradient(0deg,rgba(7,20,17,.42),transparent 55%)}
.article-clean-hero__copy{position:absolute;z-index:3;left:max(32px,calc((100vw - var(--hero-shell))/2));bottom:var(--hero-content-bottom);max-width:830px;color:#fff}
.article-clean-hero__copy .clean-label{color:#ead59b!important}
.article-clean-hero__copy h1{margin:0!important;max-width:820px;color:#fff!important;font-size:clamp(3rem,5.45vw,5.65rem)!important;line-height:.96!important;letter-spacing:-.054em!important}
.article-clean-hero__copy>p:not(.clean-label){max-width:680px;margin:22px 0!important;color:#e5eeeb!important}
.article-clean-hero__meta span{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.2);color:#fff!important;backdrop-filter:blur(8px)}

@media(max-width:980px){
  .subpage-hero,.article-clean-hero{min-height:730px;height:auto}
  .subpage-hero__grid,.article-clean-hero__grid{min-height:730px}
  .subpage-hero__copy,.article-clean-hero__copy,.service-detail-hero__copy{left:32px;right:32px;bottom:var(--hero-content-bottom-tablet);max-width:680px}
  .subpage-hero__visual figcaption,.service-detail-hero__visual figcaption{display:none!important}
  .service-detail-hero__grid{min-height:760px}
}

@media(max-width:680px){
  .subpage-hero,.article-clean-hero{min-height:680px}
  .subpage-hero__grid,.article-clean-hero__grid{min-height:680px}
  .subpage-hero__copy,.article-clean-hero__copy,.service-detail-hero__copy{left:22px;right:22px;bottom:var(--hero-content-bottom-mobile)}
  .subpage-hero__copy h1,.article-clean-hero__copy h1,.service-detail-hero__copy h1{font-size:clamp(2.65rem,13vw,4rem)!important}
  .subpage-hero__copy>p:not(.clean-label),.article-clean-hero__copy>p:not(.clean-label),.service-detail-hero__summary{font-size:.9rem!important;line-height:1.6!important}
  .subpage-hero__actions,.service-detail-hero__actions{gap:10px;margin-top:22px!important}
  .subpage-tags{gap:6px!important;margin-top:20px!important}
  .subpage-tags span{padding:7px 9px!important;font-size:.61rem!important}
  .service-detail-hero__grid{min-height:730px}
  .service-detail-back{margin-bottom:20px!important}
  .service-detail-hero__promise{font-size:1.08rem!important}
}
