/* Prohuman IT · septiembre 2026. Fuente: identidad/manual y paleta.
   Se carga únicamente en IT; el diseño de Staffing conserva su hoja actual. */
body.it {
  --ink: #141b2d;
  --muted: #5d6470;
  --paper: #f7f7f4;
  --accent: #145994;
  --accent-hover: #012e58;
  --accent-soft: #e3eef7;
  --accent-light: #7cc0ea;
  --line: #dcddd8;
  --dark: #012e58;
  --on-dark-muted: #a9bdd1;
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

/* SVG originales con el texto en curvas: no reconstruir la marca con texto. */
.it .brand { display: inline-flex; line-height: 1; }
.it .brand img { display: block; width: 240px; height: auto; }
.it .site-footer .brand img { width: 260px; }
.it .header-inner { gap: 32px; }
.it h1, .it .page-hero h1 { color: var(--dark); font-weight: 700; letter-spacing: -.03em; }
.it h2, .it .feature-copy > h2, .it .about-band h2, .it .closing h2,
.it .prose h2, .it .project-section h2, .it .about-story h2,
.it .technology-grid h2, .it .related-service h2, .it .contact-form h2,
.it .fit-box h2, .it .sidebar-cta h2, .it .contact-note h2,
.it .analytics-notice h2 { color: var(--dark); font-weight: 600; letter-spacing: -.01em; }
.it :is(.feature-section, .principle-section, .sidebar-cta, .commerce-flow) :is(h2, h3) { color: #fff; }
.it .button, .it .hero .button, .it .nav-contact { font-size: 14px; font-weight: 700; }
.it .main-nav .nav-contact { background: var(--accent); }
.it .main-nav .nav-contact:hover { background: var(--accent-hover); }
.it .eyebrow, .it .hero .eyebrow, .it .feature-section .eyebrow,
.it .sidebar > .eyebrow, .it .project-nav > .eyebrow,
.it .integration-grid .eyebrow, .it .contact-intro .eyebrow,
.it .technology-grid .eyebrow {
  display: flex; align-items: baseline; gap: 12px;
  font-size: 15px; font-weight: 600; line-height: 1.55;
  letter-spacing: 0; text-transform: none;
}
.it .eyebrow::before { content: ""; flex: 0 0 24px; border-top: 1px solid currentColor; transform: translateY(-.3em); }
.it .eyebrow .label-line { display: none; }
.it .feature-section .eyebrow, .it .feature-list .number,
.it .principle-grid .number, .it .commerce-flow span { color: var(--accent-light); }
.it .feature-copy > p:not(.eyebrow), .it .feature-list p,
.it .sidebar-cta p, .it .principle-grid p, .it .commerce-flow p { color: var(--on-dark-muted); }
.it .feature-list article, .it .feature-list article:first-child,
.it .principle-grid article + article, .it .commerce-flow > div + div { border-color: var(--on-dark-muted); }
.it .feature-copy .button:hover { background: var(--accent-soft); }
.it .service-priority:hover { background: var(--accent-soft); }
.it .about-band, .it .contact-note, .it .project-phases .phase-deliverable,
.it .international-band, .it .market-commerce, .it .talent-partnership { background: var(--accent-soft); }
.it .contact-note li, .it .country-links a, .it .market-local-cards article { border-color: var(--line); }
.it .hero-art { background: var(--accent-soft); }
.it .hero-art figcaption { background: linear-gradient(transparent, #012e58e0); }
.it .form-field :is(input, select, textarea) { border-color: var(--muted); }
.it .form-field :is(input, textarea)::placeholder { color: var(--muted); }
.it .site-footer { background: var(--dark); }
.it .footer-column h2 { color: var(--on-dark-muted); letter-spacing: 1.4px; }
.it .footer-intro p, .it .footer-bottom { color: var(--on-dark-muted); }
.it .footer-column a { color: var(--accent-soft); }
.it .footer-email, .it .footer-bottom { border-color: var(--on-dark-muted); }
.it .footer-email:hover, .it .footer-column a:hover { color: var(--accent-light); }
.it .footer-wordmark { color: var(--on-dark-muted); }
.it .analytics-notice { box-shadow: 0 8px 40px #012e5826; }

@media (min-width: 681px) and (max-width: 1100px) {
  .it .brand img { width: 200px; }
  .it .header-inner { gap: 20px; }
}
/* El logo completo necesita el menú plegable también en tablets angostas. */
@media (max-width: 850px) {
  .it .header-inner { min-height: 94px; flex-wrap: wrap; gap: 0; }
  .it .menu-toggle { display: flex; align-items: center; gap: 12px; background: transparent; color: var(--ink); border: 1px solid var(--line); padding: 10px 13px; min-height: 44px; border-radius: 3px; font-size: 12px; font-weight: 600; }
  .it .menu-lines { width: 16px; height: 10px; border-top: 1px solid; border-bottom: 1px solid; position: relative; }
  .it .menu-toggle[aria-expanded=true] .menu-lines { border: 0; }
  .it .menu-toggle[aria-expanded=true] .menu-lines::before,
  .it .menu-toggle[aria-expanded=true] .menu-lines::after { content: ""; height: 1px; background: currentColor; position: absolute; left: 0; top: 4px; width: 17px; transform: rotate(45deg); }
  .it .menu-toggle[aria-expanded=true] .menu-lines::after { transform: rotate(-45deg); }
  .it .main-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: 100%; padding: 18px 0 22px; font-size: 16px; }
  .js .it .main-nav { display: none; }
  .js .it .main-nav.open { display: flex; }
  .it .main-nav > a { padding: 11px 4px; min-height: 50px; }
  .it .main-nav .nav-contact { justify-content: space-between; padding: 13px 18px; margin-top: 12px; }
}
@media (max-width: 680px) {
  .it .brand img { width: 200px; }
  .it .header-inner { min-height: 79px; gap: 0; }
  .it .menu-toggle { gap: 6px; padding-inline: 8px; }
  .it .site-footer .brand img { width: 240px; }
  .it .eyebrow::before { flex-basis: 18px; }
}
@media (max-width: 360px) {
  .it .menu-toggle { min-width: 44px; justify-content: center; }
  .it .menu-toggle > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* Service navigation and landing pages; no fixed service count in public copy. */
.it .services-menu { position: relative; }
.it .services-menu > summary { display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; padding: 12px 0; }
.it .services-menu > summary::-webkit-details-marker { display: none; }
.it .services-menu[open] > summary { color: var(--accent); }
.it .services-dropdown { position: absolute; top: 100%; left: -22px; width: 380px; padding: 12px 22px; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 12px 28px #012e581a; border-radius: 4px; z-index: 5; }
.it .services-dropdown a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0; font-size: 14px; line-height: 1.5; text-decoration: none; border-bottom: 1px solid var(--line); }
.it .services-dropdown a:last-child { border-bottom: 0; }
.it .services-dropdown a:hover { color: var(--accent); }
.it .services-dropdown .services-all { font-weight: 700; color: var(--accent); }
.it .unit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.it .unit-grid .service-card { grid-column: auto; min-height: 350px; background: transparent; }
.it .unit-grid .service-card:hover { background: var(--accent-soft); }
.it .unit-grid .service-card h3 { font-size: 27px; line-height: 1.25; color: var(--dark); }
.it .unit-grid .service-card p { font-size: 16px; }
.it .unit-grid .service-tag { font-size: 12px; letter-spacing: 0; text-transform: none; }
.it .unit-grid .card-bottom { font-size: 14px; }
.it .hero h1 { font-size: clamp(42px, 4.2vw, 68px); line-height: 1.12; }
.it .hero-note { font-size: 14px; line-height: 1.7; }
/* Open transitions: spacing carries the hierarchy without full-width separator bars. */
.it .hero-focused + #soluciones { padding-top: 44px; }
.it .page-hero { border-bottom: 0; padding-bottom: 40px; }
.it .page-hero + .section { padding-top: 44px; }
.it .unit-overview { display: grid; grid-template-columns: 1.5fr 1fr; gap: 70px; align-items: start; padding-bottom: 55px; }
.it .unit-overview .fit-box { margin: 0; }
.it .unit-overview .lead { margin-top: 25px; font-size: 18px; }
.it .specialty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.it .specialty-card { display: flex; flex-direction: column; text-decoration: none; padding: 32px; border: 1px solid var(--line); border-top: 3px solid var(--accent); }
.it .specialty-card:hover { background: var(--accent-soft); }
.it .specialty-card h3 { color: var(--dark); font-size: 26px; line-height: 1.3; }
.it .specialty-card p { color: var(--muted); margin-block: 20px 28px; }
.it .specialty-card .text-link { margin-top: auto; }
.it .unit-note { border-left: 2px solid var(--accent); padding: 10px 0 10px 25px; margin-top: 40px; max-width: 860px; }
.it .unit-note p { margin-bottom: 15px; color: var(--muted); }
.it .footer-column a { font-size: 14px; line-height: 1.55; }
.it #contact-form { scroll-margin-top: 130px; }
.it summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.it .hero-focused h1 { font-size: clamp(48px, 5.2vw, 78px); }
.it .home-other-services { border-top: 1px solid var(--line); }
.it .home-other-services .lead { max-width: 680px; margin-top: 20px; font-size: 17px; }
.it .other-services-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 60px; }
.it .other-services-list > a { display: flex; align-items: flex-start; gap: 24px; padding: 30px 0; border-top: 1px solid var(--line); text-decoration: none; }
.it .other-services-list h3 { font-size: 24px; line-height: 1.35; color: var(--dark); }
.it .other-services-list p { color: var(--muted); margin-top: 14px; font-size: 16px; }
.it .other-services-list .arrow { flex: 0 0 24px; margin-top: 4px; color: var(--accent); }
.it .other-services-list > a:hover h3 { color: var(--accent); }
/* Titles replace decorative numbering throughout IT. */
.it .process-grid h3, .it .principle-grid h3, .it .talent-steps h3 { margin-top: 0; }
.it .process-grid p { font-size: 16px; }
.it .project-phases > li { grid-template-columns: minmax(0, 1fr); gap: 0; }
.it #sistemas-proyecto .project-systems > article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.it .feature-list article { gap: 0; }
.it .feature-list h3 { margin-top: 0; }
.it .commerce-flow span { font-size: 14px; letter-spacing: 0; }
.it .service-card-heading { display: flex; align-items: flex-start; gap: 22px; margin-bottom: 24px; }
.it .service-card-heading h3 { flex: 1; margin: 0; }
.it .service-card-heading .arrow { color: var(--accent); margin-top: 4px; }
.it .home-focus-grid .service-card { min-height: 300px; }
.it .home-ecommerce { background: var(--accent-soft); padding: 72px 0; }
.it .home-ecommerce-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.it .home-ecommerce-inner > div > p:not(.eyebrow) { color: var(--muted); font-size: 17px; margin-bottom: 26px; }
.it .landing-visual { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.it .landing-photo h2 { font-size: clamp(29px, 3vw, 42px); line-height: 1.2; margin-bottom: 30px; }
.it .landing-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.it .landing-photo figcaption { color: var(--muted); font-size: 12px; margin-top: 10px; }
.it .service-infographic { padding: 38px; background: var(--dark); border-radius: 4px; }
.it .service-infographic .eyebrow { color: var(--accent-light); }
.it .service-infographic h2 { color: #fff; font-size: 29px; line-height: 1.25; }
.it .service-flow { list-style: none; margin: 32px 0 0; padding: 0; }
.it .service-flow li { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 20px; position: relative; padding-bottom: 28px; }
.it .service-flow li:last-child { padding-bottom: 0; }
.it .service-flow li:not(:last-child)::before { content: ""; position: absolute; width: 1px; background: var(--accent-light); top: 13px; bottom: -8px; left: 7px; }
.it .flow-node { position: relative; width: 15px; height: 15px; margin-top: 7px; border: 2px solid var(--accent-light); background: var(--dark); border-radius: 50%; }
.it .service-flow li:last-child .flow-node { background: var(--accent-light); }
.it .service-flow h3 { color: #fff; font-size: 20px; line-height: 1.3; }
.it .service-flow p { color: #d4e3ef; font-size: 15px; margin-top: 8px; line-height: 1.6; }
.it .landing-faq .text-link { display: inline-flex; margin-top: 26px; gap: 14px; }
.it .related-capabilities { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 40px; }
.it .related-capabilities h2 { font-size: 29px; line-height: 1.25; }
.it .related-capabilities article > p:not(.eyebrow) { margin: 22px 0; color: var(--muted); }
.it .home-recruitment { padding: 72px 0; }
.it .home-recruitment-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.it .home-recruitment-inner > div > p:not(.eyebrow) { font-size: 17px; margin-bottom: 26px; color: var(--muted); }
@media (min-width: 851px) {
  .it .unit-grid:not(.home-focus-grid) .service-card:last-child:nth-child(3n+1) { grid-column: 1 / -1; min-height: 250px; }
  .it .unit-grid:not(.home-focus-grid) .service-card:last-child:nth-child(3n+1) p { max-width: 75ch; }
}
@media (min-width: 681px) and (max-width: 850px) {
  .it .unit-grid:not(.home-focus-grid) .service-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 1100px) {
  .it .unit-grid .service-card { padding: 24px; }
  .it .unit-grid .service-card h3 { font-size: 24px; }
  .it .unit-overview { gap: 35px; }
  .it .landing-visual { gap: 30px; }
  .it .service-infographic { padding: 28px; }
}
@media (max-width: 850px) {
  .it .main-nav.open { max-height: calc(100dvh - 94px); overflow-y: auto; }
  .it .services-menu > summary { min-height: 50px; padding: 11px 4px; }
  .it .services-dropdown { position: static; width: 100%; padding: 0 16px; box-shadow: none; margin-bottom: 12px; }
  .it .unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .it .unit-overview { grid-template-columns: 1fr; gap: 30px; }
  .it .home-ecommerce-inner { gap: 36px; }
  .it .landing-visual { grid-template-columns: 1fr; gap: 35px; }
  .it .landing-photo figure { max-width: 620px; }
  .it .home-recruitment-inner { gap: 36px; }
}
@media (max-width: 680px) {
  .it .unit-grid, .it .specialty-grid { grid-template-columns: 1fr; }
  .it .unit-grid .service-card { min-height: 300px; }
  .it .unit-grid .service-card h3 { font-size: 27px; }
  .it .specialty-card { padding: 25px; }
  .it .hero h1 { font-size: clamp(38px, 8.2vw, 54px); }
  .it .hero-art { max-height: 380px; }
  .it .hero-focused + #soluciones, .it .page-hero + .section { padding-top: 30px; }
  .it .page-hero { padding-bottom: 30px; }
  .it .unit-overview .lead { font-size: 16px; }
  .it .main-nav.open { max-height: calc(100dvh - 79px); }
  .it .hero-focused h1 { font-size: clamp(42px, 9.2vw, 60px); }
  .it .other-services-list { grid-template-columns: 1fr; }
  .it .home-ecommerce { padding: 55px 0; }
  .it .home-ecommerce-inner { grid-template-columns: 1fr; gap: 26px; }
  .it .home-recruitment { padding: 55px 0; }
  .it .home-recruitment-inner { grid-template-columns: 1fr; gap: 26px; }
  .it .related-capabilities { grid-template-columns: minmax(0,1fr); }
  .it .service-infographic { padding: 26px 20px; }
  .it .service-infographic h2 { font-size: 26px; }
  .it .service-flow li { gap: 14px; }
}
