
/* DIFUSOR V118 · DEPURACIÓN TIPOGRÁFICA + CONTRASTE + SUBPÁGINAS
   Base: V117 aprobada.
   Prioridades: lectura fácil, jerarquía consistente, contraste suficiente,
   espacios más controlados y subpáginas sin recortes de contenido. */

/* ================================================================
   HOME · SISTEMA TIPOGRÁFICO
   ================================================================ */
body.v73-home{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.v73-home .kicker{
  font-size:9.5px!important;
  line-height:1.2!important;
  letter-spacing:.15em!important;
}
body.v73-home .head{
  align-items:end!important;
  gap:34px!important;
  margin-bottom:26px!important;
}
body.v73-home .head h2{
  max-width:780px!important;
  margin:0!important;
  font-size:clamp(34px,3.15vw,49px)!important;
  line-height:1.01!important;
  letter-spacing:-.04em!important;
  text-wrap:balance!important;
  color:#fff!important;
}
body.v73-home .head .lead{
  max-width:500px!important;
  margin:0 0 2px auto!important;
  font-size:13.5px!important;
  line-height:1.6!important;
  letter-spacing:-.006em!important;
  color:rgba(239,248,251,.78)!important;
}

body.v73-home .hero h1{
  max-width:900px!important;
  font-size:clamp(48px,5.7vw,84px)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  text-wrap:balance!important;
}
body.v73-home .hero-lead{
  max-width:710px!important;
  font-size:16.5px!important;
  line-height:1.58!important;
  color:rgba(238,248,252,.82)!important;
}
body.v73-home .hero-proof span,
body.v73-home .v73-hero-side{
  line-height:1.45!important;
}

/* Trabajos */
body.v73-home #trabajos .featured-grid .card-copy{
  padding:20px 20px 18px!important;
}
body.v73-home #trabajos .featured-grid .card-copy .tag{
  font-size:9px!important;
  color:rgba(235,247,252,.72)!important;
}
body.v73-home #trabajos .featured-grid .card-copy h3{
  margin-bottom:7px!important;
  font-size:clamp(22px,2vw,31px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.v73-home #trabajos .featured-grid .card-copy p{
  max-width:92%!important;
  font-size:11.5px!important;
  line-height:1.5!important;
  color:rgba(244,249,251,.78)!important;
}
body.v73-home #trabajos .watch,
body.v73-home #trabajos .private{
  color:rgba(244,250,252,.88)!important;
}

/* Música */
body.v73-home #musica .music-info{
  padding:14px 14px 13px!important;
}
body.v73-home #musica .music-info h3{
  margin:0 0 6px!important;
  font-size:17.5px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
}
body.v73-home #musica .music-info p{
  font-size:10.8px!important;
  line-height:1.48!important;
  color:rgba(242,248,250,.72)!important;
}
body.v73-home #musica .music-info span{
  font-size:9px!important;
  color:rgba(240,249,252,.88)!important;
}
body.v73-home #musica .music-carousel-count{
  color:rgba(239,248,251,.68)!important;
}

/* Servicios */
body.v73-home #servicios .service > div{
  width:min(94%,320px)!important;
  padding:13px 14px 12px!important;
  background:linear-gradient(180deg,rgba(4,14,20,.20),rgba(4,14,20,.34))!important;
  border-color:rgba(255,255,255,.13)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
}
body.v73-home #servicios .service > div > b{
  margin-bottom:9px!important;
  color:#b2e3f5!important;
}
body.v73-home #servicios .service h3{
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.07!important;
  letter-spacing:-.03em!important;
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.34)!important;
}
body.v73-home #servicios .service p{
  font-size:11.25px!important;
  line-height:1.52!important;
  color:rgba(247,251,252,.82)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.30)!important;
}
body.v73-home #servicios .service .go{
  font-size:9.25px!important;
  color:rgba(246,251,253,.92)!important;
}

/* Difusor */
body.v73-home #nosotros .milestone{
  padding:21px 19px 18px!important;
}
body.v73-home #nosotros .milestone::before,
body.v73-home #nosotros .milestone-origin::before,
body.v73-home #nosotros .milestone-story::before{
  background:linear-gradient(180deg,rgba(3,10,14,.02) 0%,rgba(3,10,14,.10) 31%,rgba(3,10,14,.39) 61%,rgba(3,10,14,.80) 100%)!important;
}
body.v73-home #nosotros .milestone strong{
  margin-bottom:20px!important;
  font-size:26px!important;
  line-height:1!important;
  color:#a9def1!important;
}
body.v73-home #nosotros .milestone b{
  margin-bottom:8px!important;
  font-size:16.5px!important;
  line-height:1.12!important;
  color:#fff!important;
}
body.v73-home #nosotros .milestone p{
  font-size:11px!important;
  line-height:1.5!important;
  color:rgba(246,250,252,.82)!important;
}
body.v73-home #nosotros .milestone-more{
  font-size:9px!important;
  color:rgba(244,250,252,.90)!important;
}

/* Infraestructura */
body.v73-home #infraestructura .tech-item{
  padding:21px 21px 18px!important;
}
body.v73-home #infraestructura .tech-item b{
  margin-bottom:8px!important;
  font-size:20px!important;
  line-height:1.07!important;
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.32)!important;
}
body.v73-home #infraestructura .tech-item p{
  max-width:96%!important;
  font-size:11.25px!important;
  line-height:1.52!important;
  color:rgba(246,251,252,.82)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.28)!important;
}
body.v73-home #infraestructura .tech-item span{
  font-size:9px!important;
  color:rgba(246,251,253,.92)!important;
}

/* Contacto */
body.v73-home #contacto .contact-copy h2{
  font-size:clamp(35px,3.2vw,49px)!important;
  line-height:1.02!important;
}
body.v73-home #contacto .contact-copy>p{
  font-size:12.5px!important;
  line-height:1.62!important;
  color:rgba(242,249,251,.76)!important;
}
body.v73-home #contacto .quote-form-head h3{
  font-size:20px!important;
  line-height:1.12!important;
}
body.v73-home #contacto .quote-form-head p{
  color:rgba(246,250,251,.64)!important;
}
body.v73-home #contacto .field>span{
  font-size:9.5px!important;
  color:rgba(248,251,252,.78)!important;
}

/* ================================================================
   SUBPÁGINAS · LECTURA, ESPACIADO Y ALTURA NATURAL
   ================================================================ */
body.v73-internal{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.v73-internal main{
  padding-top:calc(var(--v73-nav,82px) + 14px)!important;
}
body.v73-internal .page-section,
body.v73-internal .infra-cta-section,
body.v73-internal .portfolio-cta-section{
  height:auto!important;
  min-height:auto!important;
  max-height:none!important;
  margin:0 12px 42px!important;
  padding:72px 0!important;
  overflow:hidden!important;
}
body.v73-internal .page-hero{
  min-height:clamp(560px,72svh,760px)!important;
  display:flex!important;
  align-items:center!important;
}
body.v73-internal .page-section>.wrap,
body.v73-internal .infra-cta-section>.wrap,
body.v73-internal .portfolio-cta-section>.wrap{
  width:min(1240px,calc(100% - 56px))!important;
}
body.v73-internal .kicker{
  font-size:9.5px!important;
  line-height:1.2!important;
  letter-spacing:.15em!important;
}
body.v73-internal h1{
  max-width:940px!important;
  font-size:clamp(42px,5.1vw,72px)!important;
  line-height:.99!important;
  letter-spacing:-.048em!important;
  text-wrap:balance!important;
}
body.v73-internal h2{
  font-size:clamp(30px,3.2vw,47px)!important;
  line-height:1.03!important;
  letter-spacing:-.038em!important;
  text-wrap:balance!important;
}
body.v73-internal h3{
  font-size:21px!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
body.v73-internal .page-hero p{
  max-width:760px!important;
  margin-top:20px!important;
  font-size:16.5px!important;
  line-height:1.58!important;
  color:rgba(239,248,251,.80)!important;
}
body.v73-internal .head{
  gap:34px!important;
  margin-bottom:28px!important;
}
body.v73-internal .head p,
body.v73-internal .section-lead{
  max-width:640px!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body.v73-internal .card,
body.v73-internal .step,
body.v73-internal .use-card,
body.v73-internal .process-card,
body.v73-internal .infra-card,
body.v73-internal .infra-detail{
  border-radius:17px!important;
}
body.v73-internal .card p,
body.v73-internal .step p,
body.v73-internal .use-card p,
body.v73-internal .process-card p,
body.v73-internal .infra-card p,
body.v73-internal .infra-detail p{
  font-size:12.5px!important;
  line-height:1.55!important;
}
body.v73-internal .page-section.white .card p,
body.v73-internal .page-section.soft .card p,
body.v73-internal .page-section.white .step p,
body.v73-internal .page-section.soft .step p{
  color:#435d69!important;
}
body.v73-internal .page-section.dark .card p,
body.v73-internal .page-section.dark .step p{
  color:rgba(239,248,251,.78)!important;
}
body.v73-internal .actions{
  margin-top:26px!important;
  gap:10px!important;
}
body.v73-internal .cta{
  min-height:46px!important;
  padding:0 19px!important;
  font-size:11px!important;
}
body.v73-internal .tags span{
  font-size:10.5px!important;
  color:rgba(242,249,252,.82)!important;
}
body.v73-internal .service-facts{
  margin-top:24px!important;
}

/* ================================================================
   PORTAFOLIO · JERARQUÍA, CONTRASTE Y TARJETAS
   ================================================================ */
body.v73-internal .portfolio-section{
  padding-top:58px!important;
  padding-bottom:72px!important;
}
body.v73-internal .portfolio-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr)!important;
  align-items:end!important;
  gap:30px!important;
  margin-bottom:24px!important;
  padding:22px 24px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(135deg,rgba(5,21,29,.82),rgba(5,18,25,.76))!important;
  box-shadow:0 15px 42px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
body.v73-internal .portfolio-heading .kicker{
  color:#9ddcf3!important;
}
body.v73-internal .portfolio-heading h1{
  margin:5px 0 9px!important;
  font-size:clamp(34px,3.8vw,53px)!important;
  color:#fff!important;
}
body.v73-internal .portfolio-heading p{
  max-width:700px!important;
  font-size:12.5px!important;
  line-height:1.56!important;
  color:rgba(242,249,252,.75)!important;
}
body.v73-internal .portfolio-controls{
  align-self:end!important;
}
body.v73-internal .portfolio-count{
  margin:0 0 10px!important;
  font-size:9.5px!important;
  font-weight:750!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:rgba(239,248,251,.60)!important;
  text-align:right!important;
}
body.v73-internal .filters{
  justify-content:flex-end!important;
}
body.v73-internal .filter{
  min-height:38px!important;
  padding:0 14px!important;
  border-color:rgba(255,255,255,.17)!important;
  background:rgba(255,255,255,.055)!important;
  color:rgba(245,250,252,.82)!important;
  font-size:10.5px!important;
}
body.v73-internal .filter:hover,
body.v73-internal .filter.active{
  border-color:rgba(143,209,236,.55)!important;
  background:rgba(13,86,120,.82)!important;
  color:#fff!important;
}
body.v73-internal .portfolio-grid{
  gap:15px!important;
}
body.v73-internal .portfolio-card{
  border:1px solid rgba(255,255,255,.12)!important;
  background:#07151d!important;
  box-shadow:0 12px 32px rgba(0,0,0,.18)!important;
  transition:transform .30s ease,border-color .30s ease,box-shadow .30s ease!important;
}
body.v73-internal .portfolio-card:hover,
body.v73-internal .portfolio-card:focus-within{
  transform:translateY(-5px)!important;
  border-color:rgba(143,209,236,.36)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.24),0 0 18px rgba(67,166,207,.09)!important;
}
body.v73-internal .portfolio-media img{
  transition:transform .75s cubic-bezier(.22,.61,.36,1),filter .45s ease!important;
  filter:saturate(.96) contrast(1.02)!important;
}
body.v73-internal .portfolio-card:hover .portfolio-media img{
  transform:scale(1.04)!important;
  filter:saturate(1.02) contrast(1.03)!important;
}
body.v73-internal .portfolio-info{
  padding:18px!important;
  background:linear-gradient(180deg,rgba(2,8,11,.01) 15%,rgba(2,8,11,.18) 43%,rgba(2,8,11,.92) 100%)!important;
}
body.v73-internal .portfolio-info h3{
  margin:0 0 7px!important;
  font-size:clamp(19px,1.9vw,25px)!important;
  line-height:1.06!important;
  color:#fff!important;
}
body.v73-internal .portfolio-info p{
  max-width:96%!important;
  font-size:11px!important;
  line-height:1.48!important;
  color:rgba(246,250,252,.80)!important;
}
body.v73-internal .portfolio-badge{
  padding:6px 9px!important;
  font-size:8.5px!important;
  letter-spacing:.08em!important;
  background:rgba(5,19,27,.78)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
body.v73-internal .portfolio-video-label{
  background:rgba(5,19,27,.82)!important;
  color:#fff!important;
}
body.v73-internal .portfolio-action,
body.v73-internal .portfolio-private{
  color:rgba(246,251,253,.90)!important;
  font-size:9.5px!important;
}

/* Viewer */
body.v73-internal .project-viewer::backdrop{
  background:rgba(1,7,10,.84)!important;
  backdrop-filter:blur(5px)!important;
}
body.v73-internal .project-viewer-inner{
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 28px rgba(60,166,211,.10)!important;
}
body.v73-internal .project-viewer-copy h2{
  font-size:clamp(27px,3vw,42px)!important;
  line-height:1.03!important;
}
body.v73-internal .project-viewer-description{
  font-size:12.5px!important;
  line-height:1.58!important;
  color:rgba(240,248,251,.76)!important;
}
body.v73-internal .project-viewer-nav button{
  min-height:42px!important;
  color:rgba(246,251,253,.88)!important;
}
body.v73-internal .project-viewer-nav button:disabled{
  opacity:.28!important;
  cursor:default!important;
}

/* Portfolio CTA */
body.v73-internal .portfolio-cta,
body.v73-internal .infra-cta{
  padding:42px!important;
}
body.v73-internal .portfolio-cta p,
body.v73-internal .infra-cta p{
  max-width:700px!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:1000px){
  body.v73-home .head{grid-template-columns:1fr!important;gap:13px!important;}
  body.v73-home .head .lead{margin:0!important;max-width:680px!important;}

  body.v73-internal .page-section,
  body.v73-internal .infra-cta-section,
  body.v73-internal .portfolio-cta-section{
    margin:0 8px 32px!important;
    padding:62px 0!important;
  }
  body.v73-internal .page-hero{min-height:auto!important;padding-top:84px!important;padding-bottom:84px!important;}
  body.v73-internal .portfolio-tools{grid-template-columns:1fr!important;gap:18px!important;}
  body.v73-internal .portfolio-count{text-align:left!important;}
  body.v73-internal .filters{justify-content:flex-start!important;}
}
@media(max-width:650px){
  body.v73-home .hero h1{font-size:clamp(42px,12vw,58px)!important;}
  body.v73-home .hero-lead{font-size:15px!important;}
  body.v73-home .head h2{font-size:clamp(30px,9vw,40px)!important;}
  body.v73-home .head .lead{font-size:12.5px!important;}
  body.v73-home #servicios .service > div{width:100%!important;}

  body.v73-internal .page-section,
  body.v73-internal .infra-cta-section,
  body.v73-internal .portfolio-cta-section{
    margin:0 5px 25px!important;
    padding:50px 0!important;
    border-radius:17px!important;
  }
  body.v73-internal .page-section>.wrap,
  body.v73-internal .infra-cta-section>.wrap,
  body.v73-internal .portfolio-cta-section>.wrap{
    width:calc(100% - 28px)!important;
  }
  body.v73-internal h1{font-size:clamp(38px,11.5vw,52px)!important;}
  body.v73-internal h2{font-size:clamp(29px,9vw,39px)!important;}
  body.v73-internal .page-hero p{font-size:15px!important;}
  body.v73-internal .portfolio-tools{padding:18px!important;border-radius:15px!important;}
  body.v73-internal .portfolio-heading h1{font-size:34px!important;}
  body.v73-internal .portfolio-heading p{font-size:11.5px!important;}
  body.v73-internal .portfolio-cta,
  body.v73-internal .infra-cta{padding:28px 20px!important;}
}
