/*
 * Dingfeng V7.4.1 — Button visibility + Hero polish
 * Scope: visual bug-fix only. No URL/content/GEO/schema changes.
 */
:root{
  --btn-dark-bg:#111216;
  --btn-dark-text:#ffffff;
  --btn-dark-hover:#202227;
  --btn-light-bg:transparent;
  --btn-light-text:#17181c;
  --btn-light-border:#d7d9dd;
  --btn-radius:8px;
  --btn-height:40px;
}

/* 1) Dark CTA text must stay white in every interaction state. */
body.v74-site a.v74-contact-btn,
body.v74-site a.v74-contact-btn:link,
body.v74-site a.v74-contact-btn:visited,
body.v74-site a.v74-primary,
body.v74-site a.v74-primary:link,
body.v74-site a.v74-primary:visited,
body.v74-site .v74-contact-actions a:first-child,
body.v74-site .v74-contact-actions a:first-child:link,
body.v74-site .v74-contact-actions a:first-child:visited,
body.v74-site a.v74-mobile-contact,
body.v74-site a.v74-mobile-contact:link,
body.v74-site a.v74-mobile-contact:visited,
body.v74-site .v74-drawer a.contact,
body.v74-site .v74-drawer a.contact:link,
body.v74-site .v74-drawer a.contact:visited,
body.v74-site a.c-btn:not(.alt),
body.v74-site a.c-btn:not(.alt):link,
body.v74-site a.c-btn:not(.alt):visited{
  background:var(--btn-dark-bg)!important;
  color:var(--btn-dark-text)!important;
  border-color:var(--btn-dark-bg)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#fff!important;
}
body.v74-site a.v74-contact-btn *,
body.v74-site a.v74-primary *,
body.v74-site .v74-contact-actions a:first-child *,
body.v74-site a.v74-mobile-contact *,
body.v74-site .v74-drawer a.contact *,
body.v74-site a.c-btn:not(.alt) *{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
}
body.v74-site a.v74-contact-btn:hover,
body.v74-site a.v74-contact-btn:focus-visible,
body.v74-site a.v74-contact-btn:active,
body.v74-site a.v74-primary:hover,
body.v74-site a.v74-primary:focus-visible,
body.v74-site a.v74-primary:active,
body.v74-site .v74-contact-actions a:first-child:hover,
body.v74-site .v74-contact-actions a:first-child:focus-visible,
body.v74-site .v74-contact-actions a:first-child:active,
body.v74-site a.c-btn:not(.alt):hover,
body.v74-site a.c-btn:not(.alt):focus-visible,
body.v74-site a.c-btn:not(.alt):active{
  background:var(--btn-dark-hover)!important;
  color:#fff!important;
  border-color:var(--btn-dark-hover)!important;
  -webkit-text-fill-color:#fff!important;
}

/* 2) Primary/secondary CTA proportions — restrained, premium, readable. */
body.v74-site a.v74-contact-btn{
  height:var(--btn-height)!important;
  min-width:104px;
  padding:0 17px!important;
  border-radius:var(--btn-radius)!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
}
body.v74-home .v74-hero-actions{gap:11px!important;margin-top:30px!important}
body.v74-home .v74-hero-actions a{
  height:var(--btn-height)!important;
  padding:0 18px!important;
  border-radius:var(--btn-radius)!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
  position:relative;
  z-index:2;
}
body.v74-home a.v74-secondary,
body.v74-home a.v74-secondary:link,
body.v74-home a.v74-secondary:visited{
  background:var(--btn-light-bg)!important;
  color:var(--btn-light-text)!important;
  border:1px solid var(--btn-light-border)!important;
  -webkit-text-fill-color:var(--btn-light-text)!important;
}
body.v74-home a.v74-secondary:hover,
body.v74-home a.v74-secondary:focus-visible{
  color:#0f1115!important;
  border-color:#aeb2b8!important;
  background:#fff!important;
}
body.v74-site a:focus-visible,
body.v74-site button:focus-visible{
  outline:2px solid rgba(39,90,232,.55)!important;
  outline-offset:3px!important;
}

/* 3) Hero editorial polish — keep V7.4 structure, refine hierarchy. */
body.v74-home .v74-hero{padding:112px 0 102px!important}
body.v74-home .v74-hero-grid{
  grid-template-columns:minmax(0,5.45fr) minmax(0,6.55fr)!important;
  gap:84px!important;
}
body.v74-home .v74-kicker{
  font-size:10.5px!important;
  letter-spacing:.16em!important;
  color:#858a93!important;
  margin-bottom:36px!important;
}
body.v74-home .v74-hero h1{
  font-size:clamp(36px,3.45vw,42px)!important;
  line-height:1.17!important;
  letter-spacing:-.038em!important;
  font-weight:600!important;
  max-width:570px!important;
}
body.v74-home .v74-hero h1 .muted{
  color:#44474d!important;
  -webkit-text-fill-color:#44474d!important;
}
body.v74-home .v74-hero-lead{
  font-size:15.5px!important;
  line-height:1.8!important;
  color:#555a63!important;
  max-width:540px!important;
  margin-top:26px!important;
}
body.v74-home .v74-hero-note{
  margin-top:48px!important;
  padding-top:18px!important;
  max-width:540px!important;
  font-size:12px!important;
  color:#8a8e95!important;
}

/* 4) Five-force visual — 5 forces only; outcome center is not a sixth force. */
body.v74-home .v74-os{min-height:510px!important;padding:0 5% 0 0}
body.v74-home .v74-os-frame{
  width:min(100%,560px)!important;
  border-color:#dde0e3!important;
}
body.v74-home .v74-os-frame:before{
  color:#9ca2ab!important;
  font-size:10px!important;
  letter-spacing:.15em!important;
}
body.v74-home .v74-os-frame:after{border-color:#e6e7e9!important}
body.v74-home .v74-lines line{stroke:#d5d8dc!important;stroke-width:.9!important}
body.v74-home .v74-lines circle{stroke:#8ea8e8!important;stroke-width:.8!important;stroke-dasharray:3 9!important;opacity:.45!important}
body.v74-home .v74-core{
  width:104px!important;
  height:104px!important;
  background:#111216!important;
  box-shadow:0 14px 38px rgba(17,18,22,.10)!important;
}
body.v74-home .v74-core small{font-size:9.5px!important;color:#969da8!important;margin-bottom:6px!important}
body.v74-home .v74-core strong{font-size:17px!important;font-weight:500!important;color:#fff!important}
body.v74-home .v74-core span{font-size:10px!important;color:#7f8792!important;margin-top:3px!important}
body.v74-home .v74-force{width:146px!important}
body.v74-home .v74-force i{font-size:10.5px!important;color:#989da5!important;margin-bottom:5px!important}
body.v74-home .v74-force b{font-size:15.5px!important;line-height:1.35!important;font-weight:600!important;color:#17191d!important}
body.v74-home .v74-force span{font-size:11.5px!important;line-height:1.55!important;color:#868b93!important;margin-top:5px!important}
body.v74-home .v74-force:before{width:7px!important;height:7px!important;border-color:#3b3f46!important}

/* 5) Other dark buttons/links in homepage contact area. */
body.v74-home .v74-contact-actions a{height:38px!important;padding:0 16px!important;border-radius:7px!important;font-size:12px!important;font-weight:500!important}
body.v74-home .v74-contact-actions a:first-child,
body.v74-home .v74-contact-actions a:first-child:visited{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* 6) Topic/contact CTA hardening against inherited anchor color. */
body.v74-topic .hero .btn.primary,
body.v74-topic .hero .btn.primary:visited,
body.v74-topic .hero-actions a:first-child,
body.v74-topic .hero-actions a:first-child:visited,
body.v74-topic .actions a:first-child,
body.v74-topic .actions a:first-child:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.v74-contact-page a.c-btn:not(.alt),
body.v74-contact-page a.c-btn:not(.alt):visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:980px){
  body.v74-home .v74-hero-grid{grid-template-columns:1fr!important;gap:56px!important}
  body.v74-home .v74-os{padding-right:0!important}
}
@media(max-width:700px){
  body.v74-site a.v74-contact-btn{height:38px!important}
  body.v74-home .v74-hero{padding:84px 0 72px!important}
  body.v74-home .v74-kicker{margin-bottom:30px!important;font-size:10px!important}
  body.v74-home .v74-hero h1{font-size:30px!important;line-height:1.2!important;max-width:390px!important}
  body.v74-home .v74-hero-lead{font-size:15px!important;line-height:1.78!important;max-width:100%!important}
  body.v74-home .v74-hero-actions{gap:10px!important;flex-wrap:wrap!important}
  body.v74-home .v74-hero-actions a{height:39px!important;padding:0 15px!important;font-size:12.5px!important;width:auto!important}
  body.v74-home .v74-hero-note{margin-top:42px!important;font-size:11.5px!important}
  body.v74-home .v74-os{min-height:390px!important}
  body.v74-home .v74-os-frame{width:340px!important;max-width:96%!important}
  body.v74-home .v74-core{width:84px!important;height:84px!important}
  body.v74-home .v74-core strong{font-size:14px!important}
  body.v74-home .v74-core small{font-size:8px!important}
  body.v74-home .v74-core span{font-size:8px!important}
  body.v74-home .v74-force{width:108px!important}
  body.v74-home .v74-force i{font-size:8.5px!important}
  body.v74-home .v74-force b{font-size:12.5px!important}
  body.v74-home .v74-force span{font-size:9px!important}
}
