/* XFANS V3.5 — visual system lock / no factual changes */
:root{--v35-gold:#c99b3f;--v35-navy:#08233c;--v35-deep:#061d31}

/* Brand lockup: make the header read as XFANS INTERNACIONAL without requiring a synthetic logo asset. */
.brand{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;line-height:.78!important;gap:5px!important}
.brand-sub,.brand:after{font-size:8.5px!important;letter-spacing:.24em!important;font-weight:800!important;color:var(--gold)!important;line-height:1!important}
.brand:after{content:'INTERNACIONAL';display:block}
.brand .brand-sub~*{display:none}
.brand:has(.brand-sub):after{display:none}
.foot-brand{display:inline-flex!important;flex-direction:column!important;gap:4px!important;line-height:.82!important}
.foot-brand-sub,.foot-brand:after{font-size:8px!important;letter-spacing:.22em!important;font-weight:800!important;color:var(--gold)!important;line-height:1!important}
.foot-brand:after{content:'INTERNACIONAL';display:block}
.foot-brand:has(.foot-brand-sub):after{display:none}

/* HOME intro now acts as a compact editorial bridge instead of repeating the network map twice. */
.intro{padding:34px 0 36px!important;background:#f6f3ed!important;border-bottom:1px solid #ded8ce!important}
.v35-intro-band{display:grid!important;grid-template-columns:.38fr 1.62fr!important;gap:42px!important;align-items:center!important}
.v35-intro-label .rule{margin-top:12px!important}
.v35-intro-copy{margin:0!important;color:var(--ink)!important;font-size:clamp(18px,1.28vw,22px)!important;line-height:1.42!important;max-width:1050px!important;font-weight:650!important;letter-spacing:-.012em!important}

/* Slightly lighter hero visual and a more deliberate left-side atmosphere, without touching the source photo. */
.hero-image{filter:brightness(1.09) saturate(1.03)!important}
.hero:before{left:-7%!important;top:88px!important;width:51%!important;height:470px!important;background:radial-gradient(circle at 42% 46%,rgba(201,155,63,.19),rgba(16,56,87,.11) 31%,transparent 69%)!important;filter:blur(3px)!important}
.hero:after{background:linear-gradient(90deg,rgba(5,28,49,.965) 0%,rgba(5,28,49,.88) 24%,rgba(5,28,49,.58) 40%,rgba(5,28,49,.21) 55%,rgba(5,28,49,.04) 72%,transparent 88%)!important}
.hero-content{width:min(930px,68vw)!important}
.hero h1{font-size:clamp(34px,3.15vw,53px)!important;letter-spacing:-.04em!important}
.hero-sub{font-size:clamp(12.5px,.9vw,15.5px)!important;letter-spacing:.005em!important}

/* Services: equal visual weight, real imagery intact, buttons readable rather than microcopy. */
.v31-service-grid{gap:16px!important}
.v31-service-card{border-color:#d7d0c4!important;box-shadow:0 0 0 rgba(0,0,0,0)!important}
.v31-service-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 32px rgba(8,35,60,.10)!important}
.v31-service-media{height:168px!important}
.v31-service-body{padding:17px 16px 16px!important;min-height:220px!important}
.v31-service-body h3{font-size:16px!important;line-height:1.12!important;min-height:54px!important}
.v31-service-body p{font-size:13.5px!important;line-height:1.43!important;margin:10px 0 17px!important}
.v31-service-links{gap:7px!important;font-size:12.5px!important}
.v31-service-links a{padding:3px 0!important}
.v31-view-examples{font-size:12.5px!important}

/* Talent: compact premium cards; all players keep equal treatment. */
.player-card{flex-basis:132px!important}
.player-name{font-size:13.2px!important;line-height:1.15!important}
.player-position-home{font-size:10.8px!important;line-height:1.28!important}
.player-sub-home{font-size:10.4px!important;line-height:1.28!important}
.profile-link{font-size:11.3px!important}
.roster-bar{margin-top:24px!important}
.roster-control{border-radius:0!important}

/* Featured projects: image-first, less poster-like typography. */
.v31-feature{min-height:318px!important}
.v31-feature-body{padding:16px 18px 18px!important}
.v31-feature-body h3{font-size:17px!important;line-height:1.18!important}
.v31-feature-arrow{font-size:21px!important}
.case-more{margin-top:20px!important}

/* Network: keep the complete clean map visible and blend with page chrome, not side plates. */
.v31-network-visual{background:#061d31!important;isolation:isolate!important}
.v31-network-visual>img{object-fit:cover!important;object-position:center!important;filter:contrast(1.04) saturate(1.03) brightness(.92)!important}
.v31-network-visual:after{background:linear-gradient(90deg,rgba(5,28,49,.965) 0%,rgba(5,28,49,.88) 20%,rgba(5,28,49,.58) 31%,rgba(5,28,49,.15) 48%,rgba(5,28,49,.02) 72%,rgba(5,28,49,.08) 100%)!important}
.v31-network-copy h2{font-size:clamp(31px,2.6vw,45px)!important;max-width:540px!important}
.v31-network-copy p{font-size:16px!important;line-height:1.52!important;max-width:505px!important}
.v31-network-regions span{font-size:11.5px!important;padding:8px 11px!important}

/* Key contact + footer: quieter and more corporate. */
.contacts{padding-top:46px!important;padding-bottom:48px!important}
.contacts-head{margin-bottom:20px!important}
.contact-card{max-width:560px!important}
.corp-legal{font-size:10.5px!important;letter-spacing:.01em!important}

/* Cross-page image policy: never enlarge source imagery beyond its frame for visual drama. */
.v31-service-media img,.v31-feature-media img,.project-media img,.player-card img,.blended-photo img{transform:none!important}

/* Viewport locks: browser zoom / narrower desktop should reflow before anything clips. */
@media (min-width:981px) and (max-width:1280px){
  .wrap{width:min(92vw,1180px)!important}
  .hero-content{width:min(850px,72vw)!important}
  .hero h1{font-size:clamp(32px,3.55vw,45px)!important}
  .hero-sub{font-size:12.5px!important}
  .v31-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v31-service-card:nth-child(4),.v31-service-card:nth-child(5){grid-column:auto!important}
  .v31-service-media{height:190px!important}
}
@media (max-width:980px){
  .v35-intro-band{grid-template-columns:1fr!important;gap:14px!important}
  .v35-intro-copy{font-size:18px!important}
  .hero-content{width:100%!important}
  .hero-line{white-space:nowrap!important}
  .v31-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v31-service-media{height:190px!important}
}
@media (max-width:640px){
  .intro{padding:28px 0 30px!important}
  .v35-intro-copy{font-size:16px!important;line-height:1.46!important}
  .hero h1{font-size:clamp(28px,8.2vw,34px)!important}
  .hero-sub{font-size:13px!important;line-height:1.35!important;white-space:normal!important}
  .v31-service-grid{grid-template-columns:1fr!important}
  .v31-service-media{height:210px!important}
  .player-card{flex-basis:128px!important}
}
@media (max-width:390px){
  .hero h1{font-size:28px!important}
  .hero-sub{font-size:12.4px!important}
}
