/* AI + HI is the single master subheader design for inner pages. */
.finch-aihi-subheader:not(.hero-premium){position:relative!important;isolation:isolate!important;display:flex!important;align-items:center!important;min-height:590px!important;width:100%!important;overflow:hidden!important;padding:150px 0 105px!important;margin:0!important;background:linear-gradient(112deg,#06152c 0%,#0b2546 52%,#153b62 100%)!important;color:#fff!important;box-sizing:border-box!important}
.finch-aihi-subheader:not(.hero-premium)::before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;opacity:.25!important;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)!important;background-size:58px 58px!important;mask-image:linear-gradient(90deg,#000,transparent 90%)!important;pointer-events:none!important}
.finch-aihi-subheader:not(.hero-premium)::after{content:""!important;position:absolute!important;z-index:-1!important;width:600px!important;height:600px!important;right:-130px!important;bottom:-330px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:50%!important;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.02)!important;animation:finch-aihi-orbit 28s linear infinite!important;pointer-events:none!important}
.finch-aihi-subheader:not(.hero-premium)>.about-wrap,.finch-aihi-subheader:not(.hero-premium)>.container,.finch-aihi-subheader:not(.hero-premium)>.wrap,.finch-aihi-subheader:not(.hero-premium)>.hero-grid{position:relative!important;z-index:2!important;width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important}
.finch-aihi-subheader:not(.hero-premium) .eyebrow,.finch-aihi-subheader:not(.hero-premium) .kicker{display:inline-flex!important;align-items:center!important;gap:12px!important;margin:0 0 0!important;color:#fff!important;font-family:Inter,Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.22em!important;text-transform:uppercase!important}
.finch-aihi-subheader:not(.hero-premium) .eyebrow::before,.finch-aihi-subheader:not(.hero-premium) .kicker::before{content:""!important;display:block!important;width:30px!important;height:1px!important;background:#ff7278!important}
.finch-aihi-subheader:not(.hero-premium) h1{max-width:1000px!important;margin:28px 0!important;color:#fff!important;font-family:Inter,Arial,sans-serif!important;font-size:clamp(46px,7vw,92px)!important;font-weight:750!important;line-height:.99!important;letter-spacing:-.075em!important;text-wrap:balance!important;animation:finch-aihi-rise .9s cubic-bezier(.2,.75,.25,1) both!important}
.finch-aihi-subheader:not(.hero-premium) h1 em,.finch-aihi-subheader:not(.hero-premium) h1 .highlight,.finch-aihi-subheader:not(.hero-premium) h1 .accent{background:linear-gradient(100deg,#FF5A55 0%,#F04438 48%,#E85D24 100%)!important;background-size:220% auto!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;font-style:normal!important;animation:finch-aihi-shimmer 7s linear infinite!important}
.finch-aihi-subheader:not(.hero-premium) p,.finch-aihi-subheader:not(.hero-premium) .hero-lead{max-width:760px!important;margin:0!important;color:rgba(239,244,250,.78)!important;font-family:Inter,Arial,sans-serif!important;font-size:clamp(15px,1.45vw,18px)!important;font-weight:400!important;line-height:1.75!important}
.finch-aihi-subheader:not(.hero-premium) .hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important;margin-top:30px!important}
.finch-aihi-subheader:not(.hero-premium) .hero-visual,.finch-aihi-subheader:not(.hero-premium) .hero-art,.finch-aihi-subheader:not(.hero-premium) .terrain,.finch-aihi-subheader:not(.hero-premium) .growth-visual,.finch-aihi-subheader:not(.hero-premium) .process-orbit,.finch-aihi-subheader:not(.hero-premium) .hero-index{display:none!important}
@keyframes finch-aihi-shimmer{to{background-position:220% center}}
@keyframes finch-aihi-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes finch-aihi-orbit{to{transform:rotate(360deg)}}
@media(max-width:760px){.finch-aihi-subheader:not(.hero-premium){min-height:520px!important;padding:125px 0 75px!important}.finch-aihi-subheader:not(.hero-premium)>.about-wrap,.finch-aihi-subheader:not(.hero-premium)>.container,.finch-aihi-subheader:not(.hero-premium)>.wrap,.finch-aihi-subheader:not(.hero-premium)>.hero-grid{width:calc(100% - 40px)!important}.finch-aihi-subheader:not(.hero-premium) h1{font-size:clamp(38px,10vw,58px)!important;line-height:1.02!important;margin:22px 0!important}.finch-aihi-subheader:not(.hero-premium) p{font-size:15px!important;line-height:1.7!important}}

/* Global H1 brand accent: adaptive red + deep orange gradient for dark surfaces. */
.finch-red-gradient{
  background:linear-gradient(100deg,#FF5A55 0%,#F04438 48%,#E85D24 100%)!important;
  background-size:220% auto!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  font-style:normal!important;
  animation:finch-aihi-shimmer 7s linear infinite!important;
}
@media(prefers-reduced-motion:reduce){.finch-red-gradient{animation:none!important;background-position:45% center!important}}

/* White/light surfaces: high-contrast deep RED + DARK ORANGE gradient.
   The orange is intentionally deep, not yellow/gold; same shimmer timing is retained. */
.finch-red-gradient.finch-gradient-light-bg{
  color:#A80F26!important;
  -webkit-text-fill-color:#A80F26!important;
  background-color:transparent!important;
  background-image:linear-gradient(100deg,#A80F26 0%,#C5162E 35%,#E34B20 72%,#D9481F 100%)!important;
  background-size:300% 100%!important;
  background-position:0% 50%;
  font-style:normal!important;
  opacity:1!important;
  filter:none!important;
  animation:finch-aihi-shimmer 7s linear infinite!important;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .finch-red-gradient.finch-gradient-light-bg{
    background-clip:text!important;
    -webkit-background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .finch-red-gradient.finch-gradient-light-bg{
    animation:none!important;
    background-position:45% center!important;
  }
}


/* PHASE 52 FIX — enforce high-contrast red/deep-orange on dark and blue surfaces.
   Higher-specificity selectors prevent legacy AI+HI em/highlight rules from
   overriding the global accent gradient. Light-background variant is excluded. */
html body :is(h1,h2,h3) .finch-red-gradient:not(.finch-gradient-light-bg){
  background-image:linear-gradient(100deg,#FF4D5B 0%,#FF5142 48%,#E94B22 100%)!important;
  background-size:220% auto!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  opacity:1!important;
  filter:none!important;
  font-style:normal!important;
}
html body .finch-aihi-subheader:not(.hero-premium) h1 .finch-red-gradient:not(.finch-gradient-light-bg){
  background-image:linear-gradient(100deg,#FF4D5B 0%,#FF5142 48%,#E94B22 100%)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  opacity:1!important;
  filter:none!important;
}


/* PHASE 56 — Responsive spacing, wrapping and alignment correction.
   Desktop styles remain unchanged; these rules target tablet and mobile layouts. */
@media (max-width: 800px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main,section,article,.container,.about-wrap,.wrap,.hero-grid,.hero-copy{
    min-width:0!important;max-width:100%;
  }
  body:not(.home) main > .hero:not(.hero-premium) h1,
  body:not(.home) main > .about-hero h1,
  body:not(.home) main > .page-hero h1,
  body:not(.home) main > .subheader h1,
  body:not(.home) main > .sub-header h1{
    font-size:clamp(34px,8.2vw,54px)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    word-spacing:normal!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
    text-wrap:balance!important;
  }
  html body h2{
    font-size:clamp(25px,6.2vw,38px)!important;
    line-height:1.16!important;
    letter-spacing:-.035em!important;
    word-spacing:normal!important;
    text-wrap:balance!important;
  }
  html body h3{
    font-size:clamp(20px,5vw,28px)!important;
    line-height:1.22!important;
    letter-spacing:-.02em!important;
    word-spacing:normal!important;
  }
  html body p,html body li{
    font-size:16px!important;
    line-height:1.65!important;
    letter-spacing:normal!important;
    word-spacing:normal!important;
    overflow-wrap:break-word!important;
  }
  body:not(.home) main > .hero:not(.hero-premium) > .container,
  body:not(.home) main > .hero:not(.hero-premium) > .wrap,
  body:not(.home) main > .hero:not(.hero-premium) > .about-wrap,
  body:not(.home) main > .about-hero > .container,
  body:not(.home) main > .about-hero > .wrap,
  body:not(.home) main > .about-hero > .about-wrap,
  body:not(.home) main > .page-hero > .container,
  body:not(.home) main > .page-hero > .wrap,
  body:not(.home) main > .page-hero > .about-wrap,
  body:not(.home) main > .subheader > .container,
  body:not(.home) main > .subheader > .wrap,
  body:not(.home) main > .subheader > .about-wrap,
  body:not(.home) main > .sub-header > .container,
  body:not(.home) main > .sub-header > .wrap,
  body:not(.home) main > .sub-header > .about-wrap{
    width:calc(100% - 36px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero-premium .hero-grid{
    width:calc(100% - 36px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    min-height:0!important;
  }
  .hero-premium .hero-copy{
    width:100%!important;
    max-width:100%!important;
    padding:58px 0 48px!important;
  }
  .hero-premium .hero-copy h1{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(36px,9.1vw,56px)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    word-spacing:normal!important;
    overflow-wrap:normal!important;
    text-wrap:balance!important;
    margin:20px 0 22px!important;
  }
  /* Critical: allow the animated phrase to wrap at normal word spaces. */
  .hero-premium .hero-copy h1 .finch-liquid-fill{
    display:inline!important;
    max-width:100%!important;
    white-space:normal!important;
    word-spacing:normal!important;
    letter-spacing:inherit!important;
    overflow-wrap:normal!important;
  }
  .hero-premium .hero-copy h1 .finch-liquid-fill::after{
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  .hero-premium .hero-copy>p{
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.65!important;
    margin:0 0 22px!important;
  }
  .hero-premium .actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .hero-premium .actions a{
    min-height:48px!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    justify-content:center!important;
  }
  .hero-premium .hero-animation{
    right:-45%!important;
    top:58%!important;
    width:360px!important;
    height:360px!important;
    opacity:.16!important;
    pointer-events:none!important;
  }
  .global-nav{
    width:calc(100% - 32px)!important;
    min-width:0!important;
    gap:12px!important;
  }
  .global-brand img{max-width:145px!important;height:auto!important}
  .global-links{max-width:100vw!important;overflow-x:hidden!important}
}
@media (max-width: 480px){
  .hero-premium .hero-copy{padding:48px 0 42px!important}
  .hero-premium .hero-copy h1{
    font-size:clamp(33px,9.2vw,44px)!important;
    line-height:1.1!important;
    letter-spacing:-.04em!important;
    margin:18px 0 20px!important;
  }
  .hero-premium .hero-copy .eyebrow{
    max-width:100%!important;
    font-size:9px!important;
    letter-spacing:.12em!important;
    line-height:1.45!important;
    white-space:normal!important;
  }
  .hero-premium .actions{flex-direction:column!important;align-items:stretch!important}
  .hero-premium .actions a{width:100%!important}
  html body h1{font-size:clamp(32px,9vw,44px)!important;line-height:1.1!important;letter-spacing:-.04em!important}
  html body h2{font-size:clamp(24px,7vw,32px)!important;line-height:1.18!important}
  html body p,html body li{font-size:15.5px!important;line-height:1.65!important}
  .global-nav{min-height:68px!important}
}

/* PHASE 58 — Reliable homepage spotlight animation.
   One moving high-contrast red/coral/deep-orange gradient layer is used
   instead of stacked radial backgrounds, improving browser compatibility
   and keeping the effect visible on wrapped inline text. */
html body .hero-premium .hero-copy h1 .finch-spotlight-text{
  display:inline!important;
  position:relative!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background-color:transparent!important;
  background-image:linear-gradient(
    105deg,
    #B51226 0%,
    #C5162E 18%,
    #E23A3E 34%,
    #FF9678 46%,
    #F04438 53%,
    #E85D24 68%,
    #C5162E 84%,
    #B51226 100%
  )!important;
  background-size:260% 100%!important;
  background-position:100% 50%!important;
  background-repeat:no-repeat!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  -webkit-box-decoration-break:clone!important;
  box-decoration-break:clone!important;
  animation:finchSpotlightSweepV2 3s linear infinite!important;
  text-shadow:none!important;
  filter:drop-shadow(0 0 7px rgba(240,68,56,.16))!important;
}
@keyframes finchSpotlightSweepV2{
  0%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@media(prefers-reduced-motion:reduce){
  html body .hero-premium .hero-copy h1 .finch-spotlight-text{
    animation:none!important;
    background-image:linear-gradient(100deg,#C5162E 0%,#F04438 52%,#E85D24 100%)!important;
    background-size:100% 100%!important;
    background-position:center!important;
  }
}


/* PHASE 59 — Gita section heading: accessible red + deep-orange gradient
   tuned for the dark navy Gita section background. */
html body .gita-business h2 .finch-gita-gradient{
  display:inline!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background-image:linear-gradient(100deg,#FF5963 0%,#F04438 48%,#E85D24 100%)!important;
  background-size:220% 100%!important;
  background-position:0% 50%!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  animation:finchGitaGradient 5s ease-in-out infinite alternate!important;
}
@keyframes finchGitaGradient{
  from{background-position:0% 50%}
  to{background-position:100% 50%}
}
@media(prefers-reduced-motion:reduce){
  html body .gita-business h2 .finch-gita-gradient{
    animation:none!important;
    background-position:50% 50%!important;
  }
}
