/* ==========================================================================
   AdBrust Hero — from reference/hero/hero.html + HERO-HANDOFF.md (high fidelity).
   OWNER DECISION: where the hero differs from CLAUDE.md (gradient text, washes,
   8px radius, button shadow/blur, parallax, Lenis), the hero wins.
   ========================================================================== */
.adbrust-section.adbrust-hero {
  --adbrust-intro-size: clamp(14px, 1.22vw, 18px);   /* 1.0.1: ~20% smaller */
  --adbrust-line1-size: clamp(36px, 4.5vw, 65px);
  --adbrust-line2-size: clamp(38px, 4.86vw, 70px);
  --adbrust-para-size: clamp(16px, 1.41vw, 20px);    /* 1.0.1: ~8% smaller */
  --adbrust-btn-size: 15px;
  --adbrust-link-size: 13px;
  --adbrust-pad-l: var(--adbrust-pad-left); --adbrust-pad-r: var(--adbrust-pad-right);
  --adbrust-intro-top: 40vh; --adbrust-headline-top: 73vh;

  position: relative; overflow: hidden;
  background: var(--adbrust-ink); color: var(--adbrust-white);
  font-family: var(--adbrust-font-head); font-weight: 400; line-height: normal;
}
.adbrust-hero a.adbrust-btn, .adbrust-hero a.adbrust-btn:hover, .adbrust-hero a.adbrust-btn:focus,
.adbrust-hero a.adbrust-link, .adbrust-hero a.adbrust-link:hover, .adbrust-hero a.adbrust-link:focus { color: var(--adbrust-white); text-decoration: none; }

.adbrust-hero .adbrust-hero__media { position: absolute; left: 0; top: 0; width: 100%; height: 125vh; overflow: hidden; pointer-events: none; }
.adbrust-hero .adbrust-hero__parallax { position: absolute; inset: 0; }
.adbrust-hero img.adbrust-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none;
  margin: 0; border: 0; border-radius: 0; box-shadow: none; opacity: 1;
  object-fit: cover; object-position: 72% 60%; transform-origin: 65% 60%; will-change: transform;
}
.adbrust-hero .adbrust-hero__wash-left { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,17,22,.55) 0%, rgba(14,17,22,0) 65%); }
.adbrust-hero .adbrust-hero__wash-bottom { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,17,22,0) 55%, rgba(14,17,22,.55) 75%, #0E1116 100%); }

.adbrust-hero .adbrust-hero__inner { position: relative; z-index: 2; padding: var(--adbrust-headline-top) var(--adbrust-pad-r) 22vh var(--adbrust-pad-l); }

.adbrust-hero .adbrust-hero__intro { position: absolute; left: var(--adbrust-pad-l); top: var(--adbrust-intro-top); margin: 0; max-width: 37vw; font-family: inherit; font-size: var(--adbrust-intro-size); font-weight: 400; line-height: 1.35; letter-spacing: -0.01em; color: var(--adbrust-white); opacity: .9; text-wrap: pretty; }

/* font-size 2em = the browser-default h1 size in hero.html; its -0.05em letter-spacing (-1.6px) is inherited by both lines */
.adbrust-hero h1.adbrust-hero__title { margin: 0; font-family: inherit; font-size: 2em; font-weight: 400; font-style: normal; line-height: .95; letter-spacing: -0.05em; text-transform: none; color: inherit; opacity: .92; }
.adbrust-hero .adbrust-hero__mask { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.adbrust-hero .adbrust-hero__line { display: block; white-space: nowrap; }
.adbrust-hero .adbrust-hero__line--1 {
  font-size: var(--adbrust-line1-size); padding-bottom: .08em;
  color: transparent;
  background: linear-gradient(100deg, rgba(230,233,238,.95) 0%, rgba(230,233,238,.7) 45%, rgba(230,233,238,.28) 100%);
  -webkit-background-clip: text; background-clip: text;
}
.adbrust-hero .adbrust-hero__line--2 { font-size: var(--adbrust-line2-size); }

.adbrust-hero .adbrust-hero__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 48px 40px; margin-top: calc(clamp(56px, 11vh, 120px) + 5vh); }
.adbrust-hero .adbrust-hero__col { flex: 0 1 auto; width: 29vw; min-width: min(100%, 320px); display: flex; flex-direction: column; gap: 32px; }
.adbrust-hero .adbrust-hero__para { margin: 0; max-width: none; font-family: inherit; font-size: var(--adbrust-para-size); font-weight: 400; line-height: 1.45; letter-spacing: -0.01em; color: var(--adbrust-surface); opacity: .9; text-wrap: pretty; }

.adbrust-hero .adbrust-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.adbrust-hero a.adbrust-btn { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 24px; box-sizing: border-box; border-radius: 8px; white-space: nowrap; font-family: inherit; font-weight: 500; font-size: var(--adbrust-btn-size); line-height: 1; letter-spacing: normal; }
.adbrust-hero a.adbrust-btn--primary { background: var(--adbrust-blue); border: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 1px 2px rgba(0,0,0,.3); transition: filter .3s ease; }
.adbrust-hero a.adbrust-btn--primary:hover { filter: brightness(1.08); background: var(--adbrust-blue); }
.adbrust-hero .adbrust-btn__arrow { display: inline-block; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.adbrust-hero a.adbrust-btn--primary:hover .adbrust-btn__arrow { transform: translateX(4px); }
.adbrust-hero a.adbrust-btn--ghost { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background .3s ease, border-color .3s ease; }
.adbrust-hero a.adbrust-btn--ghost:hover { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.36); }

.adbrust-hero .adbrust-hero__links { display: flex; gap: clamp(40px, 6vw, 96px); align-items: flex-end; font-size: var(--adbrust-link-size); font-weight: 300; line-height: 1.75; opacity: .9; }
.adbrust-hero .adbrust-hero__links div { display: flex; flex-direction: column; align-items: flex-start; }
.adbrust-hero a.adbrust-link, .adbrust-hero a.adbrust-link:hover, .adbrust-hero a.adbrust-link:focus { color: var(--adbrust-surface); }
.adbrust-hero a.adbrust-link { background: linear-gradient(currentColor, currentColor) no-repeat 0 92% / 0% 1px; transition: background-size .45s cubic-bezier(.22,1,.36,1); }
.adbrust-hero a.adbrust-link:hover { background-size: 100% 1px; }

@media (max-width: 767px) {
  .adbrust-section.adbrust-hero { --adbrust-intro-top: 24vh; --adbrust-headline-top: 62vh; }
  .adbrust-hero .adbrust-hero__intro { max-width: none; right: var(--adbrust-pad-r); }
  .adbrust-hero .adbrust-hero__line { white-space: normal; }
  .adbrust-hero .adbrust-hero__col { width: 100%; }
}

/* Entrance animation. Elements are hidden only when JS is available (.adbrust-js on <html>);
   AdBrust Motion ([data-adbrust-entrance]) then adds .adbrust-is-in to the section. */
.adbrust-js .adbrust-hero .adbrust-anim-rise { opacity: 0; transform: translateY(16vh); }
.adbrust-js .adbrust-hero .adbrust-anim-mask { transform: translateY(110%); }
.adbrust-js .adbrust-hero .adbrust-anim-fade { opacity: 0; transform: translateY(24px); }
.adbrust-js .adbrust-hero img.adbrust-hero__img { transform: scale(1.18); }
.adbrust-js .adbrust-hero.adbrust-is-in img.adbrust-hero__img { transform: scale(1); transition: transform 2.2s var(--adbrust-ease-entrance); }
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-rise,
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-mask,
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-fade { opacity: 1; transform: none; }
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-rise { transition: opacity 1.5s var(--adbrust-ease-entrance) .25s, transform 1.5s var(--adbrust-ease-entrance) .25s; }
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-mask { transition: transform 1.3s var(--adbrust-ease-entrance) var(--adbrust-d, .55s); }
.adbrust-js .adbrust-hero.adbrust-is-in .adbrust-anim-fade { transition: opacity 1.2s var(--adbrust-ease-entrance) 1s, transform 1.2s var(--adbrust-ease-entrance) 1s; }

@media (prefers-reduced-motion: reduce) {
  .adbrust-hero .adbrust-anim-rise, .adbrust-hero .adbrust-anim-mask, .adbrust-hero .adbrust-anim-fade, .adbrust-hero img.adbrust-hero__img { opacity: 1 !important; transform: none !important; transition: none !important; }
}
