/* Change 50 — interaction, responsive and consistency pass. Loaded last. */
:root{
  --fh-ease:cubic-bezier(.2,.72,.18,1);
  --fh-purple:#6F3BFF;
  --fh-acid:#BFFF00;
}

/* --------------------------------------------------------------------------
   Subtle scroll reveal: restrained blur and movement, no dramatic clipping.
   -------------------------------------------------------------------------- */
.section-reveal{
  opacity:.58!important;
  filter:blur(6px) saturate(.94)!important;
  transform:translate3d(0,12px,0) scale(.997)!important;
  clip-path:none!important;
  transition:opacity .72s var(--fh-ease),filter .82s var(--fh-ease),transform .82s var(--fh-ease)!important;
}
.section-reveal.visible{
  opacity:1!important;
  filter:blur(0) saturate(1)!important;
  transform:translate3d(0,0,0) scale(1)!important;
}
.reveal:not(.hero-section .reveal){
  opacity:.12!important;
  filter:blur(7px)!important;
  transform:translate3d(0,12px,0) scale(.998)!important;
  transition:opacity .62s var(--fh-ease),filter .72s var(--fh-ease),transform .72s var(--fh-ease)!important;
}
.reveal.visible:not(.hero-section .reveal){opacity:1!important;filter:blur(0)!important;transform:none!important}
.hero-section .hero-copy.reveal,.inner-hero .reveal{opacity:1!important;filter:none!important;transform:none!important}
.home-page .hero-media-wrap.reveal{opacity:1!important;filter:none!important}

/* --------------------------------------------------------------------------
   Packages: all cards are light on entry. Clicked card becomes dark; purple
   accent becomes acid. A real accent element avoids pseudo-line editor issues.
   -------------------------------------------------------------------------- */
html[data-page="packages"] .package-card,
html[data-page="packages"] .package-card-featured{
  background:#fff!important;
  color:#0D0D0D!important;
  border-color:#D9D9DE!important;
}
html[data-page="packages"] .package-card::before{display:none!important;content:none!important}
html[data-page="packages"] .package-accent-line{
  position:absolute!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;height:4px!important;
  display:block!important;
  background:var(--fh-purple)!important;
  border:0!important;border-radius:0!important;
  pointer-events:none!important;
  transition:background-color .22s ease!important;
}
html[data-page="packages"] .package-card .package-topline{border-bottom-color:#E2E2E6!important}
html[data-page="packages"] .package-card .package-tier{color:#0D0D0D!important}
html[data-page="packages"] .package-card .package-type{color:#77777F!important}
html[data-page="packages"] .package-card h2{color:#0D0D0D!important}
html[data-page="packages"] .package-card .package-intro{color:#5C5D64!important}
html[data-page="packages"] .package-card .package-features{border-top-color:#E2E2E6!important}
html[data-page="packages"] .package-card .package-features li{border-bottom-color:#E2E2E6!important;color:#2F3035!important}
html[data-page="packages"] .package-card .package-cta{background:#0D0D0D!important;border-color:#0D0D0D!important;color:#F4F4F4!important}
html[data-page="packages"] .package-card.is-selected{
  background:#111114!important;
  border-color:#222228!important;
  color:#F4F4F4!important;
}
html[data-page="packages"] .package-card.is-selected>.package-accent-line{background:var(--fh-acid)!important}
html[data-page="packages"] .package-card.is-selected .package-topline{border-bottom-color:#303037!important}
html[data-page="packages"] .package-card.is-selected .package-tier{color:var(--fh-acid)!important}
html[data-page="packages"] .package-card.is-selected .package-type{color:#A8A8B0!important}
html[data-page="packages"] .package-card.is-selected h2{color:#F4F4F4!important}
html[data-page="packages"] .package-card.is-selected .package-intro{color:#C2C2C8!important}
html[data-page="packages"] .package-card.is-selected .package-features{border-top-color:#303037!important}
html[data-page="packages"] .package-card.is-selected .package-features li{border-bottom-color:#303037!important;color:#E2E2E5!important}
html[data-page="packages"] .package-card.is-selected .package-cta{background:var(--fh-acid)!important;border-color:var(--fh-acid)!important;color:#0D0D0D!important}

/* --------------------------------------------------------------------------
   Index logo lanes and testimonial marquee.
   -------------------------------------------------------------------------- */
html[data-page="home"] .brand-logo-track-new,
html[data-page="home"] .testimonial-marquee-track{will-change:transform!important}
html[data-page="home"] .logo-lane{overflow:hidden!important}
html[data-page="home"] .testimonial-marquee-window{overflow:hidden!important}

.testimonial-author{display:flex!important;flex-direction:column!important;gap:3px!important;margin-top:10px!important}
.testimonial-author strong{
  display:block!important;color:#0D0D0D!important;font-size:.86rem!important;line-height:1.15!important;font-weight:700!important
}
.testimonial-author span{
  display:block!important;color:#77777F!important;font-size:.72rem!important;line-height:1.25!important;font-weight:500!important
}

/* --------------------------------------------------------------------------
   Contact: true visual centering and custom select arrows inset from edge.
   -------------------------------------------------------------------------- */
@media (min-width: 901px){
  html[data-page="contact"] .contact-hero{
    min-height:100svh!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    padding:92px 0 0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  html[data-page="contact"] .contact-grid{
    align-items:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  html[data-page="contact"] .contact-copy,
  html[data-page="contact"] .contact-form-column{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
    translate:none!important;
  }
  html[data-page="contact"] .contact-copy{
    min-height:0!important;
    display:block!important;
    padding:0!important;
  }
}
html[data-page="contact"] .project-form select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-right:52px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5.25 7 9l4-3.75' fill='none' stroke='%2355565D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 18px center!important;
  background-size:14px 14px!important;
}

/* --------------------------------------------------------------------------
   Footer: same Index structure everywhere. Preserve the desktop alignment that
   was authored on Index, while letting mobile use a clean responsive grid.
   -------------------------------------------------------------------------- */
@media (min-width:701px){
  .site-footer .footer-legal-links a{translate:-100px 0!important}
  .site-footer .footer-social-links .fh-social-link:nth-child(1){translate:-20px -12px!important}
  .site-footer .footer-social-links .fh-social-link:nth-child(2){translate:-10px -12px!important}
  .site-footer .footer-social-links .fh-social-link:nth-child(3){translate:0 -12px!important}
}

/* --------------------------------------------------------------------------
   Mobile designer pass — deliberate spacing, hierarchy and stacking.
   -------------------------------------------------------------------------- */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px}
  .shell{width:100%!important;max-width:none!important;padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
  main>section{overflow:hidden}

  /* Header */
  .site-header .header-inner{min-height:70px!important}
  .site-header .logo-link img{max-width:128px!important;height:auto!important}
  .header-cta{display:none!important}
  .menu-button{display:flex!important}
  .mobile-menu{padding:20px!important;gap:8px!important}
  .mobile-menu>a:not(.button){font-size:1.15rem!important;padding:11px 0!important}
  .mobile-menu .button{width:100%!important;justify-content:center!important;margin-top:8px!important}

  /* General readable section rhythm */
  main>section:not(.hero-section):not(.marquee-section){padding-top:64px!important;padding-bottom:64px!important}
  h1,h2,h3,p{max-width:100%}
  .section-reveal{filter:blur(3px)!important;transform:translate3d(0,7px,0) scale(.999)!important}
  .reveal:not(.hero-section .reveal){filter:blur(3px)!important;transform:translate3d(0,7px,0)!important}

  /* Home */
  html[data-page="home"] .hero-section{min-height:auto!important;padding:74px 0 56px!important}
  html[data-page="home"] .hero-grid{display:block!important}
  html[data-page="home"] .hero-copy{width:100%!important;max-width:none!important;transform:none!important}
  html[data-page="home"] .hero-copy h1{font-size:clamp(44px,12vw,58px)!important;line-height:.96!important;letter-spacing:-2px!important}
  html[data-page="home"] .hero-copy p{font-size:16px!important;line-height:1.55!important;max-width:34rem!important}
  html[data-page="home"] .hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
  html[data-page="home"] .marquee-section{padding:30px 0!important}
  html[data-page="home"] .brand-marquee-shell{padding-inline:0!important}
  html[data-page="home"] .logo-lane{border-radius:12px!important;margin-inline:10px!important}
  html[data-page="home"] .brand-logo-item-new{height:58px!important;min-width:120px!important;padding:8px 12px!important}
  html[data-page="home"] .brand-logo-item-new img{max-height:36px!important}
  html[data-page="home"] .flowhaze-film-section,
  html[data-page="home"] .production-system,
  html[data-page="home"] .audience-section,
  html[data-page="home"] .engagement-section,
  html[data-page="home"] .stats-strip,
  html[data-page="home"] .ai-section,
  html[data-page="home"] .testimonials-section,
  html[data-page="home"] .final-cta{height:auto!important;min-height:0!important;translate:none!important}
  html[data-page="home"] .engagement-layout{translate:none!important}
  html[data-page="home"] .stats-strip{padding:64px 0!important}
  html[data-page="home"] .stats-grid{grid-template-columns:1fr!important;gap:8px!important}
  html[data-page="home"] .stats-grid>div{min-height:150px!important;padding:20px!important;border-radius:14px!important}
  html[data-page="home"] .fh-stat-value,
  html[data-page="home"] .fh-stat-label{translate:none!important;width:auto!important;text-align:left!important}
  html[data-page="home"] .fh-stat-label{margin-top:8px!important;max-width:22ch!important}
  html[data-page="home"] .final-layout{grid-template-columns:1fr!important;gap:32px!important}
  html[data-page="home"] .final-copy h2{font-size:clamp(40px,11vw,58px)!important;line-height:.98!important}
  html[data-page="home"] .final-copy h2 span{line-height:inherit!important}
  html[data-page="home"] .final-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  html[data-page="home"] .final-actions .button{width:100%!important;justify-content:center!important}
  html[data-page="home"] .testimonial-marquee-card{width:min(82vw,320px)!important;max-width:none!important}

  /* Services */
  html[data-page="services"] .inner-hero{min-height:auto!important;padding:78px 0 58px!important}
  html[data-page="services"] .inner-hero-grid{grid-template-columns:1fr!important;gap:24px!important}
  html[data-page="services"] .fh-services-tiles-section>.shell{width:100%!important;padding-inline:12px!important}
  html[data-page="services"] .fh-services-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:8px!important}
  html[data-page="services"] .fh-services-card{grid-column:auto!important;grid-row:auto!important;min-height:360px!important}
  html[data-page="services"] .fh-retainer-grid{grid-template-columns:1fr!important;gap:28px!important}
  html[data-page="services"] .fh-retainer-heading{text-align:center!important}
  html[data-page="services"] .fh-retainer-media{min-height:260px!important}
  html[data-page="services"] .fh-services-transition{min-height:auto!important;padding:82px 0!important}
  html[data-page="services"] .fh-centered-portfolio .portfolio-grid{grid-template-columns:1fr!important;gap:10px!important}

  /* AI */
  html[data-page="ai"] .fh-ai-hero{min-height:auto!important;padding:76px 0 58px!important}
  html[data-page="ai"] .fh-ai-hero-grid{grid-template-columns:1fr!important;gap:30px!important;transform:none!important;align-items:start!important}
  html[data-page="ai"] .fh-ai-hero-copy{width:100%!important;top:0!important}
  html[data-page="ai"] .fh-ai-hero-copy h1{font-size:clamp(42px,11vw,58px)!important;line-height:1!important}
  html[data-page="ai"] .fh-ai-hero-media{min-height:320px!important}
  html[data-page="ai"] .fh-ai-grid{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:8px!important}
  html[data-page="ai"] .fh-ai-tile{grid-column:auto!important;grid-row:auto!important;min-height:340px!important}
  html[data-page="ai"] .fh-ai-direction-section{min-height:auto!important;padding:82px 0!important}
  html[data-page="ai"] .fh-ai-workflow-grid,
  html[data-page="ai"] .fh-ai-final-grid{grid-template-columns:1fr!important;gap:28px!important}
  html[data-page="ai"] .fh-ai-video-placeholder{min-height:250px!important}
  html[data-page="ai"] .fh-ai-final-media{min-height:300px!important}

  /* Why Us */
  html[data-page="about"] .inner-hero{min-height:auto!important;padding:78px 0 62px!important}
  html[data-page="about"] .inner-hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  html[data-page="about"] .principle-grid{grid-template-columns:1fr!important;gap:8px!important}
  html[data-page="about"] .principle{min-height:0!important}
  html[data-page="about"] .fh-long-run-grid{grid-template-columns:1fr!important;gap:28px!important}
  html[data-page="about"] .founders-grid{grid-template-columns:1fr!important;gap:10px!important}
  html[data-page="about"] .founder-card{min-height:0!important}
  html[data-page="about"] .fh-process-moved{padding:60px 0 74px!important}
  html[data-page="about"] .fh-process-intro{margin-bottom:30px!important}
  html[data-page="about"] .fh-process-moved .timeline{width:100%!important;max-width:none!important;margin-inline:auto!important}
  html[data-page="about"] .fh-process-moved .timeline-item{grid-template-columns:112px minmax(0,1fr)!important;gap:14px!important;padding:8px!important;min-height:96px!important}
  html[data-page="about"] .fh-process-moved .timeline-image{height:80px!important;border-radius:10px!important}
  html[data-page="about"] .fh-process-moved .timeline-item h2{font-size:1.35rem!important;margin-bottom:4px!important}
  html[data-page="about"] .fh-process-moved .timeline-item p{font-size:.78rem!important;line-height:1.38!important}
  html[data-page="about"] .page-cta .page-cta-grid{grid-template-columns:1fr!important;gap:26px!important}

  /* Packages */
  html[data-page="packages"] .packages-hero{min-height:auto!important}
  html[data-page="packages"] .packages-hero-inner{padding:82px 20px 52px!important}
  html[data-page="packages"] .packages-hero h1{font-size:clamp(43px,12vw,58px)!important;line-height:.98!important}
  html[data-page="packages"] .packages-section{padding:0 0 68px!important}
  html[data-page="packages"] .packages-grid{grid-template-columns:1fr!important;gap:8px!important;padding-inline:12px!important}
  html[data-page="packages"] .package-card{min-height:0!important;padding:22px!important;border-radius:15px!important}
  html[data-page="packages"] .package-card h2{font-size:38px!important;margin-top:24px!important}
  html[data-page="packages"] .package-intro{font-size:14px!important;min-height:0!important}
  html[data-page="packages"] .package-features{margin:22px 0 24px!important}
  html[data-page="packages"] .package-features li{padding:12px 0!important;font-size:13px!important}
  html[data-page="packages"] .package-cta{width:100%!important;justify-content:center!important}

  /* Contact */
  html[data-page="contact"] .contact-hero{min-height:auto!important;padding:76px 0 60px!important}
  html[data-page="contact"] .contact-grid{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;align-items:start!important}
  html[data-page="contact"] .contact-copy{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;align-self:auto!important}
  html[data-page="contact"] .contact-copy h1{font-size:clamp(42px,11vw,56px)!important;line-height:.98!important;margin-bottom:22px!important}
  html[data-page="contact"] .contact-copy h1 span{font-size:inherit!important}
  html[data-page="contact"] .contact-copy p{font-size:15px!important;line-height:1.55!important}
  html[data-page="contact"] .contact-form-column{width:100%!important;align-self:auto!important}
  html[data-page="contact"] .project-form{padding:18px!important;border-radius:16px!important}
  html[data-page="contact"] .project-form-grid{grid-template-columns:1fr!important;gap:14px!important}
  html[data-page="contact"] .project-form input,
  html[data-page="contact"] .project-form select,
  html[data-page="contact"] .project-form textarea{font-size:16px!important;min-height:48px!important;padding:12px 48px 12px 12px!important}
  html[data-page="contact"] .project-form textarea{padding-right:12px!important}
  html[data-page="contact"] .project-form .button{width:100%!important;justify-content:center!important}

  /* Legal / Thank you / old utility pages */
  html[data-page="legal"] .legal-hero,
  html[data-page="contact"] .thank-you-section{padding:76px 0 56px!important}

  /* Footer mobile hierarchy */
  .site-footer{padding:44px 0 22px!important}
  .site-footer .footer-main{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 22px!important;
    padding-bottom:30px!important;
  }
  .site-footer .footer-brand{grid-column:1/-1!important;padding-bottom:18px!important;border-bottom:1px solid rgba(13,13,13,.12)!important}
  .site-footer .footer-brand img{width:145px!important}
  .site-footer .footer-brand p{max-width:25rem!important;margin-top:10px!important;font-size:.86rem!important;line-height:1.48!important}
  .site-footer .footer-col{gap:9px!important}
  .site-footer .footer-col>span{font-size:9px!important;letter-spacing:.14em!important;margin-bottom:3px!important}
  .site-footer .footer-col a{font-size:12px!important;line-height:1.4!important}
  .site-footer .footer-bottom{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:14px 16px!important;
    align-items:center!important;
    padding-top:18px!important;
    font-size:10px!important;
  }
  .site-footer .footer-legal-links{display:flex!important;gap:14px!important;grid-column:1/2!important;grid-row:2!important}
  .site-footer .footer-social-links{grid-column:2!important;grid-row:1/3!important;align-self:center!important}
  .site-footer .footer-legal-links a,
  .site-footer .footer-social-links .fh-social-link{translate:none!important}
}

@media (max-width:390px){
  .shell{padding-left:16px!important;padding-right:16px!important}
  .site-footer .footer-main{grid-template-columns:1fr 1fr!important;gap:24px 16px!important}
  .site-footer .footer-bottom{grid-template-columns:1fr!important}
  .site-footer .footer-social-links{grid-column:1!important;grid-row:auto!important}
  html[data-page="about"] .fh-process-moved .timeline-item{grid-template-columns:96px minmax(0,1fr)!important}
  html[data-page="about"] .fh-process-moved .timeline-image{height:74px!important}
}

@media (prefers-reduced-motion:reduce){
  .section-reveal,.reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
}


/* Change 50 repair — preserve the authored desktop hero exactly. */
@media (min-width:701px){
  html[data-page="home"] .hero-section{overflow:hidden!important}
  html[data-page="home"] .hero-section::after{display:none!important;content:none!important;height:0!important;background:none!important}
  html[data-page="home"] .hero-media-wrap{
    position:absolute!important;top:0!important;bottom:0!important;left:50%!important;right:auto!important;
    width:100vw!important;height:100%!important;min-height:0!important;margin:0!important;
    transform:translateX(-50%)!important;pointer-events:none!important
  }
  html[data-page="home"] .hero-film{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important}
  html[data-page="home"] .hero-film video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
}
html[data-page="home"] .brand-logo-track-new,
html[data-page="home"] .testimonial-marquee-track{transform:none;will-change:transform!important}

/* Never draw the old decorative split line under the full-bleed home hero. */
html[data-page="home"] .hero-section::after{display:none!important;content:none!important;height:0!important;background:none!important}

/* --------------------------------------------------------------------------
   Change 55 — CTA surface system.
   Dark surface  -> acid fill + dark text.
   Light surface -> transparent + violet outline + dark text.
   Loaded last so older theme experiments cannot override the system.
   -------------------------------------------------------------------------- */
:root{
  --fh-cta-violet:#6F3BFF;
  --fh-cta-acid:#BFFF00;
  --fh-cta-ink:#0D0D0D;
}

/* Primary CTAs on dark surfaces. */
.site-header .button-acid,
.mobile-menu .button-acid,
.hero-section .button-acid,
.final-cta .button-acid,
.inner-hero .button-acid,
.fh-ai-final-cta .button-acid{
  background:var(--fh-cta-acid)!important;
  border:1.5px solid var(--fh-cta-acid)!important;
  color:var(--fh-cta-ink)!important;
  box-shadow:none!important;
}

/* The violet AI band is a dark/strong-colour surface: primary action stays acid. */
html[data-page="home"] .ai-section .button-outline{
  background:var(--fh-cta-acid)!important;
  border:1.5px solid var(--fh-cta-acid)!important;
  color:var(--fh-cta-ink)!important;
}

/* Primary CTAs sitting on light editorial surfaces. */
html[data-page="home"] .production-system .button-acid,
html[data-page="services"] .fh-retainer-section .button-acid,
html[data-page="services"] .fh-retainer-button,
html[data-page="contact"] .project-form .button-acid,
html[data-page="thank-you"] .thank-you-section .button-acid,
html[data-page="thank-you"] .thank-you-section .button{
  background:transparent!important;
  border:1.5px solid var(--fh-cta-violet)!important;
  color:var(--fh-cta-ink)!important;
  box-shadow:none!important;
}

/* Packages are light until selected. */
html[data-page="packages"] .package-card:not(.is-selected) .package-cta{
  background:transparent!important;
  border:1.5px solid var(--fh-cta-violet)!important;
  color:var(--fh-cta-ink)!important;
}
html[data-page="packages"] .package-card.is-selected .package-cta{
  background:var(--fh-cta-acid)!important;
  border:1.5px solid var(--fh-cta-acid)!important;
  color:var(--fh-cta-ink)!important;
}

/* Keep text black on light surfaces on hover/focus too; use only a restrained tint. */
html[data-page="home"] .production-system .button-acid:hover,
html[data-page="services"] .fh-retainer-section .button-acid:hover,
html[data-page="services"] .fh-retainer-button:hover,
html[data-page="contact"] .project-form .button-acid:hover,
html[data-page="thank-you"] .thank-you-section .button:hover,
html[data-page="packages"] .package-card:not(.is-selected) .package-cta:hover{
  background:rgba(111,59,255,.06)!important;
  border-color:var(--fh-cta-violet)!important;
  color:var(--fh-cta-ink)!important;
}

html[data-page="home"] .production-system .button-acid:focus-visible,
html[data-page="services"] .fh-retainer-section .button-acid:focus-visible,
html[data-page="contact"] .project-form .button-acid:focus-visible,
html[data-page="packages"] .package-card:not(.is-selected) .package-cta:focus-visible{
  outline:2px solid rgba(111,59,255,.35)!important;
  outline-offset:3px!important;
}

/* Thank-you page shares data-page=contact in the current build; use its body class. */
.thank-you-page .thank-you-section .button{
  background:transparent!important;
  border:1.5px solid var(--fh-cta-violet)!important;
  color:var(--fh-cta-ink)!important;
  box-shadow:none!important;
}
.thank-you-page .thank-you-section .button:hover{
  background:rgba(111,59,255,.06)!important;
  border-color:var(--fh-cta-violet)!important;
  color:var(--fh-cta-ink)!important;
}


/* CHANGE 60 FINAL BUTTON + EDITABILITY PASS */
:root{
  --fh-compact-button-height:38px;
  --fh-compact-button-pad-x:18px;
  --fh-compact-button-font:13px;
}

/* Roughly 30% smaller than the previous CTA system, with one consistent height. */
.button,
.package-cta,
html .site-header .header-cta,
html .button.button-large,
html[data-page="services"] .fh-retainer-button,
html[data-page="contact"] .project-form .button{
  min-height:var(--fh-compact-button-height)!important;
  height:var(--fh-compact-button-height)!important;
  padding:0 var(--fh-compact-button-pad-x)!important;
  border-radius:999px!important;
  font-size:var(--fh-compact-button-font)!important;
  line-height:1!important;
  gap:6px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

/* The homepage final CTA is the deliberate two-button dark-surface exception. */
html[data-page="home"] .final-actions .button-acid{
  background:#BFFF00!important;
  border-color:#BFFF00!important;
  color:#0D0D0D!important;
}
html[data-page="home"] .final-actions .button-acid-outline{
  background:transparent!important;
  border-color:#BFFF00!important;
  color:#F4F4F4!important;
}

/* BUILT FOR THE LONG RUN: requested lime-outline retainer CTA on dark surface. */
html[data-page="about"] .fh-long-run-retainer{
  margin-top:24px!important;
  background:transparent!important;
  border-color:#BFFF00!important;
  color:#F4F4F4!important;
}

/* Never show a rectangular browser/editor focus box around the Services nav item.
   Active state remains the authored underline. */
.desktop-nav a:focus,
.desktop-nav a:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

/* Footer labels/copyright are now typography targets; these rules do not lock
   their typography, so inline controller edits can override them cleanly. */
.site-footer .footer-col>span,
.site-footer .footer-bottom>span:first-child,
.site-footer [data-year]{
  pointer-events:auto;
}
